import * as core from "@terrascript/core";
export interface AliasArgs extends core.SchemaArgs {
    evaluateTargetHealth: boolean | core.BooleanOut;
    name: string | core.StringOut;
    zoneId: string | core.StringOut;
}
export declare class Alias extends core.Schema<AliasArgs> {
    evaluateTargetHealth: boolean | core.BooleanOut;
    name: string | core.StringOut;
    zoneId: string | core.StringOut;
}
export interface LatencyRoutingPolicyArgs extends core.SchemaArgs {
    region: string | core.StringOut;
}
export declare class LatencyRoutingPolicy extends core.Schema<LatencyRoutingPolicyArgs> {
    region: string | core.StringOut;
}
export interface GeolocationRoutingPolicyArgs extends core.SchemaArgs {
    continent?: string | core.StringOut;
    country?: string | core.StringOut;
    subdivision?: string | core.StringOut;
}
export declare class GeolocationRoutingPolicy extends core.Schema<GeolocationRoutingPolicyArgs> {
    continent?: string | core.StringOut;
    country?: string | core.StringOut;
    subdivision?: string | core.StringOut;
}
export interface WeightedRoutingPolicyArgs extends core.SchemaArgs {
    weight: number | core.NumberOut;
}
export declare class WeightedRoutingPolicy extends core.Schema<WeightedRoutingPolicyArgs> {
    weight: number | core.NumberOut;
}
export interface FailoverRoutingPolicyArgs extends core.SchemaArgs {
    type: string | core.StringOut;
}
export declare class FailoverRoutingPolicy extends core.Schema<FailoverRoutingPolicyArgs> {
    type: string | core.StringOut;
}
export interface RecordArgs extends core.ResourceArgs {
    alias?: core.Array<Alias> | core.ArrayOut<Alias>;
    allowOverwrite?: boolean | core.BooleanOut;
    failoverRoutingPolicy?: core.Array<FailoverRoutingPolicy> | core.ArrayOut<FailoverRoutingPolicy>;
    geolocationRoutingPolicy?: core.Array<GeolocationRoutingPolicy> | core.ArrayOut<GeolocationRoutingPolicy>;
    healthCheckId?: string | core.StringOut;
    latencyRoutingPolicy?: core.Array<LatencyRoutingPolicy> | core.ArrayOut<LatencyRoutingPolicy>;
    multivalueAnswerRoutingPolicy?: boolean | core.BooleanOut;
    name: string | core.StringOut;
    records?: core.Array<string> | core.ArrayOut<core.StringOut>;
    setIdentifier?: string | core.StringOut;
    ttl?: number | core.NumberOut;
    type: string | core.StringOut;
    weightedRoutingPolicy?: core.Array<WeightedRoutingPolicy> | core.ArrayOut<WeightedRoutingPolicy>;
    zoneId: string | core.StringOut;
}
export declare class Record extends core.Resource<RecordArgs> {
    alias?: core.Array<Alias> | core.ArrayOut<Alias>;
    allowOverwrite?: boolean | core.BooleanOut;
    failoverRoutingPolicy?: core.Array<FailoverRoutingPolicy> | core.ArrayOut<FailoverRoutingPolicy>;
    fqdn: string | core.StringOut;
    geolocationRoutingPolicy?: core.Array<GeolocationRoutingPolicy> | core.ArrayOut<GeolocationRoutingPolicy>;
    healthCheckId?: string | core.StringOut;
    id: string | core.StringOut;
    latencyRoutingPolicy?: core.Array<LatencyRoutingPolicy> | core.ArrayOut<LatencyRoutingPolicy>;
    multivalueAnswerRoutingPolicy?: boolean | core.BooleanOut;
    name: string | core.StringOut;
    records?: core.Array<string> | core.ArrayOut<core.StringOut>;
    setIdentifier?: string | core.StringOut;
    ttl?: number | core.NumberOut;
    type: string | core.StringOut;
    weightedRoutingPolicy?: core.Array<WeightedRoutingPolicy> | core.ArrayOut<WeightedRoutingPolicy>;
    zoneId: string | core.StringOut;
    constructor(name: string, args?: RecordArgs);
    getNamespace(): string;
}
//# sourceMappingURL=record.d.ts.map