import * as core from "@terrascript/core";
export interface NlbResourceArgs extends core.SchemaArgs {
    arn?: string | core.StringOut;
}
export declare class NlbResource extends core.Schema<NlbResourceArgs> {
    arn?: string | core.StringOut;
}
export interface R53ResourceArgs extends core.SchemaArgs {
    domainName?: string | core.StringOut;
    recordSetId?: string | core.StringOut;
}
export declare class R53Resource extends core.Schema<R53ResourceArgs> {
    domainName?: string | core.StringOut;
    recordSetId?: string | core.StringOut;
}
export interface TargetResourceArgs extends core.SchemaArgs {
    nlbResource?: NlbResource;
    r53Resource?: R53Resource;
}
export declare class TargetResource extends core.Schema<TargetResourceArgs> {
    nlbResource?: NlbResource;
    r53Resource?: R53Resource;
}
export interface DnsTargetResourceArgs extends core.SchemaArgs {
    domainName: string | core.StringOut;
    hostedZoneArn?: string | core.StringOut;
    recordSetId?: string | core.StringOut;
    recordType?: string | core.StringOut;
    targetResource?: TargetResource;
}
export declare class DnsTargetResource extends core.Schema<DnsTargetResourceArgs> {
    domainName: string | core.StringOut;
    hostedZoneArn?: string | core.StringOut;
    recordSetId?: string | core.StringOut;
    recordType?: string | core.StringOut;
    targetResource?: TargetResource;
}
export interface ResourcesArgs extends core.SchemaArgs {
    componentId: string | core.StringOut;
    dnsTargetResource?: DnsTargetResource;
    readinessScopes?: core.Array<string> | core.ArrayOut<core.StringOut>;
    resourceArn?: string | core.StringOut;
}
export declare class Resources extends core.Schema<ResourcesArgs> {
    componentId: string | core.StringOut;
    dnsTargetResource?: DnsTargetResource;
    readinessScopes?: core.Array<string> | core.ArrayOut<core.StringOut>;
    resourceArn?: string | core.StringOut;
}
export interface ResourceSetArgs extends core.ResourceArgs {
    resourceSetName: string | core.StringOut;
    resourceSetType: string | core.StringOut;
    resources: core.Array<Resources> | core.ArrayOut<Resources>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class ResourceSet extends core.Resource<ResourceSetArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    resourceSetName: string | core.StringOut;
    resourceSetType: string | core.StringOut;
    resources: core.Array<Resources> | core.ArrayOut<Resources>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    constructor(name: string, args?: ResourceSetArgs);
    getNamespace(): string;
}
//# sourceMappingURL=resource_set.d.ts.map