import * as core from "@terrascript/core";
export interface ScalingParametersArgs extends core.SchemaArgs {
    desiredInstanceType?: string | core.StringOut;
    desiredPartitionCount?: number | core.NumberOut;
    desiredReplicationCount?: number | core.NumberOut;
}
export declare class ScalingParameters extends core.Schema<ScalingParametersArgs> {
    desiredInstanceType?: string | core.StringOut;
    desiredPartitionCount?: number | core.NumberOut;
    desiredReplicationCount?: number | core.NumberOut;
}
export interface EndpointOptionsArgs extends core.SchemaArgs {
    enforceHttps?: boolean | core.BooleanOut;
    tlsSecurityPolicy?: string | core.StringOut;
}
export declare class EndpointOptions extends core.Schema<EndpointOptionsArgs> {
    enforceHttps?: boolean | core.BooleanOut;
    tlsSecurityPolicy?: string | core.StringOut;
}
export interface IndexFieldArgs extends core.SchemaArgs {
    analysisScheme?: string | core.StringOut;
    defaultValue?: string | core.StringOut;
    facet?: boolean | core.BooleanOut;
    highlight?: boolean | core.BooleanOut;
    name: string | core.StringOut;
    return?: boolean | core.BooleanOut;
    search?: boolean | core.BooleanOut;
    sort?: boolean | core.BooleanOut;
    sourceFields?: string | core.StringOut;
    type: string | core.StringOut;
}
export declare class IndexField extends core.Schema<IndexFieldArgs> {
    analysisScheme?: string | core.StringOut;
    defaultValue?: string | core.StringOut;
    facet?: boolean | core.BooleanOut;
    highlight?: boolean | core.BooleanOut;
    name: string | core.StringOut;
    return?: boolean | core.BooleanOut;
    search?: boolean | core.BooleanOut;
    sort?: boolean | core.BooleanOut;
    sourceFields?: string | core.StringOut;
    type: string | core.StringOut;
}
export interface DomainArgs extends core.ResourceArgs {
    endpointOptions?: EndpointOptions;
    indexField?: core.Array<IndexField> | core.ArrayOut<IndexField>;
    multiAz?: boolean | core.BooleanOut;
    name: string | core.StringOut;
    scalingParameters?: ScalingParameters;
}
export declare class Domain extends core.Resource<DomainArgs> {
    arn: string | core.StringOut;
    documentServiceEndpoint: string | core.StringOut;
    domainId: string | core.StringOut;
    endpointOptions?: EndpointOptions;
    id: string | core.StringOut;
    indexField?: core.Array<IndexField> | core.ArrayOut<IndexField>;
    multiAz?: boolean | core.BooleanOut;
    name: string | core.StringOut;
    scalingParameters?: ScalingParameters;
    searchServiceEndpoint: string | core.StringOut;
    constructor(name: string, args?: DomainArgs);
    getNamespace(): string;
}
//# sourceMappingURL=domain.d.ts.map