import * as core from "@terrascript/core";
export interface VpcConfigArgs extends core.SchemaArgs {
    securityGroupIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    subnets: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class VpcConfig extends core.Schema<VpcConfigArgs> {
    securityGroupIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    subnets: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface InferenceExecutionConfigArgs extends core.SchemaArgs {
    mode: string | core.StringOut;
}
export declare class InferenceExecutionConfig extends core.Schema<InferenceExecutionConfigArgs> {
    mode: string | core.StringOut;
}
export interface RepositoryAuthConfigArgs extends core.SchemaArgs {
    repositoryCredentialsProviderArn: string | core.StringOut;
}
export declare class RepositoryAuthConfig extends core.Schema<RepositoryAuthConfigArgs> {
    repositoryCredentialsProviderArn: string | core.StringOut;
}
export interface ImageConfigArgs extends core.SchemaArgs {
    repositoryAccessMode: string | core.StringOut;
    repositoryAuthConfig?: RepositoryAuthConfig;
}
export declare class ImageConfig extends core.Schema<ImageConfigArgs> {
    repositoryAccessMode: string | core.StringOut;
    repositoryAuthConfig?: RepositoryAuthConfig;
}
export interface ContainerArgs extends core.SchemaArgs {
    containerHostname?: string | core.StringOut;
    environment?: core.Map<string, string> | core.MapOut<core.StringOut>;
    image: string | core.StringOut;
    imageConfig?: ImageConfig;
    mode?: string | core.StringOut;
    modelDataUrl?: string | core.StringOut;
}
export declare class Container extends core.Schema<ContainerArgs> {
    containerHostname?: string | core.StringOut;
    environment?: core.Map<string, string> | core.MapOut<core.StringOut>;
    image: string | core.StringOut;
    imageConfig?: ImageConfig;
    mode?: string | core.StringOut;
    modelDataUrl?: string | core.StringOut;
}
export interface PrimaryContainerArgs extends core.SchemaArgs {
    containerHostname?: string | core.StringOut;
    environment?: core.Map<string, string> | core.MapOut<core.StringOut>;
    image: string | core.StringOut;
    imageConfig?: ImageConfig;
    mode?: string | core.StringOut;
    modelDataUrl?: string | core.StringOut;
}
export declare class PrimaryContainer extends core.Schema<PrimaryContainerArgs> {
    containerHostname?: string | core.StringOut;
    environment?: core.Map<string, string> | core.MapOut<core.StringOut>;
    image: string | core.StringOut;
    imageConfig?: ImageConfig;
    mode?: string | core.StringOut;
    modelDataUrl?: string | core.StringOut;
}
export interface ModelArgs extends core.ResourceArgs {
    container?: core.Array<Container> | core.ArrayOut<Container>;
    enableNetworkIsolation?: boolean | core.BooleanOut;
    executionRoleArn: string | core.StringOut;
    inferenceExecutionConfig?: InferenceExecutionConfig;
    name?: string | core.StringOut;
    primaryContainer?: PrimaryContainer;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    vpcConfig?: VpcConfig;
}
export declare class Model extends core.Resource<ModelArgs> {
    arn: string | core.StringOut;
    container?: core.Array<Container> | core.ArrayOut<Container>;
    enableNetworkIsolation?: boolean | core.BooleanOut;
    executionRoleArn: string | core.StringOut;
    id: string | core.StringOut;
    inferenceExecutionConfig?: InferenceExecutionConfig;
    name?: string | core.StringOut;
    primaryContainer?: PrimaryContainer;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    vpcConfig?: VpcConfig;
    constructor(name: string, args?: ModelArgs);
    getNamespace(): string;
}
//# sourceMappingURL=model.d.ts.map