import { ResourceBase, ResourceTag } from '../resource'; import { Value, List } from '../dataTypes'; export declare class VpcConfig { SecurityGroupIds: List>; SubnetIds: List>; constructor(properties: VpcConfig); } export declare class DeadLetterConfig { TargetArn?: Value; constructor(properties: DeadLetterConfig); } export declare class Code { S3Bucket?: Value; S3Key?: Value; S3ObjectVersion?: Value; ZipFile?: Value; constructor(properties: Code); } export declare class TracingConfig { Mode?: Value; constructor(properties: TracingConfig); } export declare class Environment { Variables?: { [key: string]: Value; }; constructor(properties: Environment); } export interface FunctionProperties { Code: Code; DeadLetterConfig?: DeadLetterConfig; Description?: Value; Environment?: Environment; FunctionName?: Value; Handler: Value; KmsKeyArn?: Value; Layers?: List>; MemorySize?: Value; ReservedConcurrentExecutions?: Value; Role: Value; Runtime: Value; Tags?: List; Timeout?: Value; TracingConfig?: TracingConfig; VpcConfig?: VpcConfig; } export default class Function extends ResourceBase { static VpcConfig: typeof VpcConfig; static DeadLetterConfig: typeof DeadLetterConfig; static Code: typeof Code; static TracingConfig: typeof TracingConfig; static Environment: typeof Environment; constructor(properties: FunctionProperties); }