import * as core from "@terrascript/core";
export interface EnvironmentArgs extends core.SchemaArgs {
    variables: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class Environment extends core.Schema<EnvironmentArgs> {
    variables: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export interface VpcConfigArgs extends core.SchemaArgs {
    securityGroupIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    subnetIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    vpcId: string | core.StringOut;
}
export declare class VpcConfig extends core.Schema<VpcConfigArgs> {
    securityGroupIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    subnetIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    vpcId: string | core.StringOut;
}
export interface FileSystemConfigArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    localMountPath: string | core.StringOut;
}
export declare class FileSystemConfig extends core.Schema<FileSystemConfigArgs> {
    arn: string | core.StringOut;
    localMountPath: string | core.StringOut;
}
export interface TracingConfigArgs extends core.SchemaArgs {
    mode: string | core.StringOut;
}
export declare class TracingConfig extends core.Schema<TracingConfigArgs> {
    mode: string | core.StringOut;
}
export interface EphemeralStorageArgs extends core.SchemaArgs {
    size: number | core.NumberOut;
}
export declare class EphemeralStorage extends core.Schema<EphemeralStorageArgs> {
    size: number | core.NumberOut;
}
export interface DeadLetterConfigArgs extends core.SchemaArgs {
    targetArn: string | core.StringOut;
}
export declare class DeadLetterConfig extends core.Schema<DeadLetterConfigArgs> {
    targetArn: string | core.StringOut;
}
export interface DsFunctionArgs {
    functionName: string | core.StringOut;
    qualifier?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class DsFunction extends core.Data<DsFunctionArgs> {
    architectures: core.Array<string> | core.ArrayOut<core.StringOut>;
    arn: string | core.StringOut;
    codeSigningConfigArn: string | core.StringOut;
    deadLetterConfig: core.Array<DeadLetterConfig> | core.ArrayOut<DeadLetterConfig>;
    description: string | core.StringOut;
    environment: core.Array<Environment> | core.ArrayOut<Environment>;
    ephemeralStorage: core.Array<EphemeralStorage> | core.ArrayOut<EphemeralStorage>;
    fileSystemConfig: core.Array<FileSystemConfig> | core.ArrayOut<FileSystemConfig>;
    functionName: string | core.StringOut;
    handler: string | core.StringOut;
    id: string | core.StringOut;
    imageUri: string | core.StringOut;
    invokeArn: string | core.StringOut;
    kmsKeyArn: string | core.StringOut;
    lastModified: string | core.StringOut;
    layers: core.Array<string> | core.ArrayOut<core.StringOut>;
    memorySize: number | core.NumberOut;
    qualifiedArn: string | core.StringOut;
    qualifier?: string | core.StringOut;
    reservedConcurrentExecutions: number | core.NumberOut;
    role: string | core.StringOut;
    runtime: string | core.StringOut;
    signingJobArn: string | core.StringOut;
    signingProfileVersionArn: string | core.StringOut;
    sourceCodeHash: string | core.StringOut;
    sourceCodeSize: number | core.NumberOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    timeout: number | core.NumberOut;
    tracingConfig: core.Array<TracingConfig> | core.ArrayOut<TracingConfig>;
    version: string | core.StringOut;
    vpcConfig: core.Array<VpcConfig> | core.ArrayOut<VpcConfig>;
    constructor(name: string, args?: DsFunctionArgs);
    getNamespace(): string;
}
//# sourceMappingURL=ds_function.d.ts.map