// Code generated by depstubber. DO NOT EDIT.
// This is a simple stub for github.com/aws/aws-lambda-go/lambda, strictly for use in testing.

// See the LICENSE file for information about the licensing of the original library.
// Source: github.com/aws/aws-lambda-go/lambda (exports: Handler,Option; functions: Start,StartHandler)

// Package lambda is a stub of github.com/aws/aws-lambda-go/lambda, generated by depstubber.
package lambda

import (
	context "context"
)

type Handler interface {
	Invoke(_ context.Context, _ []byte) ([]byte, error)
}

type Option func(interface{})

func Start(_ interface{}) {}

func StartHandler(_ Handler) {}

type HandlerFunc[TIn, TOut any] interface {
	func(context.Context, TIn) (TOut, error)
}

func StartHandlerFunc[TIn any, TOut any, H HandlerFunc[TIn, TOut]](handler H, options ...Option) {}

func StartHandlerWithContext(ctx context.Context, handler Handler) {}

func StartWithContext(ctx context.Context, handler interface{}) {}

func StartWithOptions(handler interface{}, options ...Option) {}

func NewHandler(handlerFunc interface{}) Handler { return nil }

func NewHandlerWithOptions(handlerFunc interface{}, options ...Option) Handler { return nil }
