import * as core from "@terrascript/core";
export interface NotificationConfigArgs extends core.SchemaArgs {
    errorTopic?: string | core.StringOut;
    successTopic?: string | core.StringOut;
}
export declare class NotificationConfig extends core.Schema<NotificationConfigArgs> {
    errorTopic?: string | core.StringOut;
    successTopic?: string | core.StringOut;
}
export interface OutputConfigArgs extends core.SchemaArgs {
    kmsKeyId?: string | core.StringOut;
    notificationConfig?: NotificationConfig;
    s3OutputPath: string | core.StringOut;
}
export declare class OutputConfig extends core.Schema<OutputConfigArgs> {
    kmsKeyId?: string | core.StringOut;
    notificationConfig?: NotificationConfig;
    s3OutputPath: string | core.StringOut;
}
export interface ClientConfigArgs extends core.SchemaArgs {
    maxConcurrentInvocationsPerInstance?: number | core.NumberOut;
}
export declare class ClientConfig extends core.Schema<ClientConfigArgs> {
    maxConcurrentInvocationsPerInstance?: number | core.NumberOut;
}
export interface AsyncInferenceConfigArgs extends core.SchemaArgs {
    clientConfig?: ClientConfig;
    outputConfig: OutputConfig;
}
export declare class AsyncInferenceConfig extends core.Schema<AsyncInferenceConfigArgs> {
    clientConfig?: ClientConfig;
    outputConfig: OutputConfig;
}
export interface CaptureOptionsArgs extends core.SchemaArgs {
    captureMode: string | core.StringOut;
}
export declare class CaptureOptions extends core.Schema<CaptureOptionsArgs> {
    captureMode: string | core.StringOut;
}
export interface CaptureContentTypeHeaderArgs extends core.SchemaArgs {
    csvContentTypes?: core.Array<string> | core.ArrayOut<core.StringOut>;
    jsonContentTypes?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class CaptureContentTypeHeader extends core.Schema<CaptureContentTypeHeaderArgs> {
    csvContentTypes?: core.Array<string> | core.ArrayOut<core.StringOut>;
    jsonContentTypes?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface DataCaptureConfigArgs extends core.SchemaArgs {
    captureContentTypeHeader?: CaptureContentTypeHeader;
    captureOptions: core.Array<CaptureOptions> | core.ArrayOut<CaptureOptions>;
    destinationS3Uri: string | core.StringOut;
    enableCapture?: boolean | core.BooleanOut;
    initialSamplingPercentage: number | core.NumberOut;
    kmsKeyId?: string | core.StringOut;
}
export declare class DataCaptureConfig extends core.Schema<DataCaptureConfigArgs> {
    captureContentTypeHeader?: CaptureContentTypeHeader;
    captureOptions: core.Array<CaptureOptions> | core.ArrayOut<CaptureOptions>;
    destinationS3Uri: string | core.StringOut;
    enableCapture?: boolean | core.BooleanOut;
    initialSamplingPercentage: number | core.NumberOut;
    kmsKeyId?: string | core.StringOut;
}
export interface ServerlessConfigArgs extends core.SchemaArgs {
    maxConcurrency: number | core.NumberOut;
    memorySizeInMb: number | core.NumberOut;
}
export declare class ServerlessConfig extends core.Schema<ServerlessConfigArgs> {
    maxConcurrency: number | core.NumberOut;
    memorySizeInMb: number | core.NumberOut;
}
export interface ProductionVariantsArgs extends core.SchemaArgs {
    acceleratorType?: string | core.StringOut;
    initialInstanceCount?: number | core.NumberOut;
    initialVariantWeight?: number | core.NumberOut;
    instanceType?: string | core.StringOut;
    modelName: string | core.StringOut;
    serverlessConfig?: ServerlessConfig;
    variantName?: string | core.StringOut;
}
export declare class ProductionVariants extends core.Schema<ProductionVariantsArgs> {
    acceleratorType?: string | core.StringOut;
    initialInstanceCount?: number | core.NumberOut;
    initialVariantWeight?: number | core.NumberOut;
    instanceType?: string | core.StringOut;
    modelName: string | core.StringOut;
    serverlessConfig?: ServerlessConfig;
    variantName?: string | core.StringOut;
}
export interface EndpointConfigurationArgs extends core.ResourceArgs {
    asyncInferenceConfig?: AsyncInferenceConfig;
    dataCaptureConfig?: DataCaptureConfig;
    kmsKeyArn?: string | core.StringOut;
    name?: string | core.StringOut;
    productionVariants: core.Array<ProductionVariants> | core.ArrayOut<ProductionVariants>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class EndpointConfiguration extends core.Resource<EndpointConfigurationArgs> {
    arn: string | core.StringOut;
    asyncInferenceConfig?: AsyncInferenceConfig;
    dataCaptureConfig?: DataCaptureConfig;
    id: string | core.StringOut;
    kmsKeyArn?: string | core.StringOut;
    name?: string | core.StringOut;
    productionVariants: core.Array<ProductionVariants> | core.ArrayOut<ProductionVariants>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    constructor(name: string, args?: EndpointConfigurationArgs);
    getNamespace(): string;
}
//# sourceMappingURL=endpoint_configuration.d.ts.map