import * as core from "@terrascript/core";
export interface SourceCodeVersionArgs extends core.SchemaArgs {
    type: string | core.StringOut;
    value: string | core.StringOut;
}
export declare class SourceCodeVersion extends core.Schema<SourceCodeVersionArgs> {
    type: string | core.StringOut;
    value: string | core.StringOut;
}
export interface CodeConfigurationValuesArgs extends core.SchemaArgs {
    buildCommand?: string | core.StringOut;
    port?: string | core.StringOut;
    runtime: string | core.StringOut;
    runtimeEnvironmentVariables?: core.Map<string, string> | core.MapOut<core.StringOut>;
    startCommand?: string | core.StringOut;
}
export declare class CodeConfigurationValues extends core.Schema<CodeConfigurationValuesArgs> {
    buildCommand?: string | core.StringOut;
    port?: string | core.StringOut;
    runtime: string | core.StringOut;
    runtimeEnvironmentVariables?: core.Map<string, string> | core.MapOut<core.StringOut>;
    startCommand?: string | core.StringOut;
}
export interface CodeConfigurationArgs extends core.SchemaArgs {
    codeConfigurationValues?: CodeConfigurationValues;
    configurationSource: string | core.StringOut;
}
export declare class CodeConfiguration extends core.Schema<CodeConfigurationArgs> {
    codeConfigurationValues?: CodeConfigurationValues;
    configurationSource: string | core.StringOut;
}
export interface CodeRepositoryArgs extends core.SchemaArgs {
    codeConfiguration?: CodeConfiguration;
    repositoryUrl: string | core.StringOut;
    sourceCodeVersion: SourceCodeVersion;
}
export declare class CodeRepository extends core.Schema<CodeRepositoryArgs> {
    codeConfiguration?: CodeConfiguration;
    repositoryUrl: string | core.StringOut;
    sourceCodeVersion: SourceCodeVersion;
}
export interface ImageConfigurationArgs extends core.SchemaArgs {
    port?: string | core.StringOut;
    runtimeEnvironmentVariables?: core.Map<string, string> | core.MapOut<core.StringOut>;
    startCommand?: string | core.StringOut;
}
export declare class ImageConfiguration extends core.Schema<ImageConfigurationArgs> {
    port?: string | core.StringOut;
    runtimeEnvironmentVariables?: core.Map<string, string> | core.MapOut<core.StringOut>;
    startCommand?: string | core.StringOut;
}
export interface ImageRepositoryArgs extends core.SchemaArgs {
    imageConfiguration?: ImageConfiguration;
    imageIdentifier: string | core.StringOut;
    imageRepositoryType: string | core.StringOut;
}
export declare class ImageRepository extends core.Schema<ImageRepositoryArgs> {
    imageConfiguration?: ImageConfiguration;
    imageIdentifier: string | core.StringOut;
    imageRepositoryType: string | core.StringOut;
}
export interface AuthenticationConfigurationArgs extends core.SchemaArgs {
    accessRoleArn?: string | core.StringOut;
    connectionArn?: string | core.StringOut;
}
export declare class AuthenticationConfiguration extends core.Schema<AuthenticationConfigurationArgs> {
    accessRoleArn?: string | core.StringOut;
    connectionArn?: string | core.StringOut;
}
export interface SourceConfigurationArgs extends core.SchemaArgs {
    authenticationConfiguration?: AuthenticationConfiguration;
    autoDeploymentsEnabled?: boolean | core.BooleanOut;
    codeRepository?: CodeRepository;
    imageRepository?: ImageRepository;
}
export declare class SourceConfiguration extends core.Schema<SourceConfigurationArgs> {
    authenticationConfiguration?: AuthenticationConfiguration;
    autoDeploymentsEnabled?: boolean | core.BooleanOut;
    codeRepository?: CodeRepository;
    imageRepository?: ImageRepository;
}
export interface InstanceConfigurationArgs extends core.SchemaArgs {
    cpu?: string | core.StringOut;
    instanceRoleArn?: string | core.StringOut;
    memory?: string | core.StringOut;
}
export declare class InstanceConfiguration extends core.Schema<InstanceConfigurationArgs> {
    cpu?: string | core.StringOut;
    instanceRoleArn?: string | core.StringOut;
    memory?: string | core.StringOut;
}
export interface HealthCheckConfigurationArgs extends core.SchemaArgs {
    healthyThreshold?: number | core.NumberOut;
    interval?: number | core.NumberOut;
    path?: string | core.StringOut;
    protocol?: string | core.StringOut;
    timeout?: number | core.NumberOut;
    unhealthyThreshold?: number | core.NumberOut;
}
export declare class HealthCheckConfiguration extends core.Schema<HealthCheckConfigurationArgs> {
    healthyThreshold?: number | core.NumberOut;
    interval?: number | core.NumberOut;
    path?: string | core.StringOut;
    protocol?: string | core.StringOut;
    timeout?: number | core.NumberOut;
    unhealthyThreshold?: number | core.NumberOut;
}
export interface EgressConfigurationArgs extends core.SchemaArgs {
    egressType?: string | core.StringOut;
    vpcConnectorArn?: string | core.StringOut;
}
export declare class EgressConfiguration extends core.Schema<EgressConfigurationArgs> {
    egressType?: string | core.StringOut;
    vpcConnectorArn?: string | core.StringOut;
}
export interface NetworkConfigurationArgs extends core.SchemaArgs {
    egressConfiguration?: EgressConfiguration;
}
export declare class NetworkConfiguration extends core.Schema<NetworkConfigurationArgs> {
    egressConfiguration?: EgressConfiguration;
}
export interface ObservabilityConfigurationArgs extends core.SchemaArgs {
    observabilityConfigurationArn: string | core.StringOut;
    observabilityEnabled: boolean | core.BooleanOut;
}
export declare class ObservabilityConfiguration extends core.Schema<ObservabilityConfigurationArgs> {
    observabilityConfigurationArn: string | core.StringOut;
    observabilityEnabled: boolean | core.BooleanOut;
}
export interface EncryptionConfigurationArgs extends core.SchemaArgs {
    kmsKey: string | core.StringOut;
}
export declare class EncryptionConfiguration extends core.Schema<EncryptionConfigurationArgs> {
    kmsKey: string | core.StringOut;
}
export interface ServiceArgs extends core.ResourceArgs {
    autoScalingConfigurationArn?: string | core.StringOut;
    encryptionConfiguration?: EncryptionConfiguration;
    healthCheckConfiguration?: HealthCheckConfiguration;
    instanceConfiguration?: InstanceConfiguration;
    networkConfiguration?: NetworkConfiguration;
    observabilityConfiguration?: ObservabilityConfiguration;
    serviceName: string | core.StringOut;
    sourceConfiguration: SourceConfiguration;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class Service extends core.Resource<ServiceArgs> {
    arn: string | core.StringOut;
    autoScalingConfigurationArn?: string | core.StringOut;
    encryptionConfiguration?: EncryptionConfiguration;
    healthCheckConfiguration?: HealthCheckConfiguration;
    id: string | core.StringOut;
    instanceConfiguration?: InstanceConfiguration;
    networkConfiguration?: NetworkConfiguration;
    observabilityConfiguration?: ObservabilityConfiguration;
    serviceId: string | core.StringOut;
    serviceName: string | core.StringOut;
    serviceUrl: string | core.StringOut;
    sourceConfiguration: SourceConfiguration;
    status: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    constructor(name: string, args?: ServiceArgs);
    getNamespace(): string;
}
//# sourceMappingURL=service.d.ts.map