import type { NonEmptyString } from "../../../common/CustomTypes/NonEmptyString";
import type { NaturalNumber } from "../../../common/CustomTypes/Numerics";
import type { AwsResourceCommon, CloudFormationTags } from "../common";
import type { CloudFormationValue } from "../IntrinsicFunctions";
export declare type ServiceDiscoveryServiceType = 'AWS::ServiceDiscovery::Service';
export interface Service extends AwsResourceCommon {
    Type: ServiceDiscoveryServiceType;
    Properties: {
        Name: NonEmptyString;
        Description?: NonEmptyString;
        NamespaceId: CloudFormationValue;
        DnsConfig: DnsConfig;
        Tags?: CloudFormationTags;
    };
}
export declare type DnsRecordType = 'A' | 'AAAA' | 'CNAME' | 'SRV';
export interface DnsRecord {
    TTL: NaturalNumber;
    Type: DnsRecordType;
}
export interface DnsConfig {
    RoutingPolicy: 'MULTIVALUE' | 'WEIGHTED';
    DnsRecords: DnsRecord[];
}
