import * as core from "@terrascript/core";
export interface MembersArgs extends core.SchemaArgs {
    groupIpAddress: string | core.StringOut;
    networkInterfaceId: string | core.StringOut;
}
export declare class Members extends core.Schema<MembersArgs> {
    groupIpAddress: string | core.StringOut;
    networkInterfaceId: string | core.StringOut;
}
export interface FilterArgs extends core.SchemaArgs {
    name: string | core.StringOut;
    values: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class Filter extends core.Schema<FilterArgs> {
    name: string | core.StringOut;
    values: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface SourcesArgs extends core.SchemaArgs {
    groupIpAddress: string | core.StringOut;
    networkInterfaceId: string | core.StringOut;
}
export declare class Sources extends core.Schema<SourcesArgs> {
    groupIpAddress: string | core.StringOut;
    networkInterfaceId: string | core.StringOut;
}
export interface AssociationsArgs extends core.SchemaArgs {
    subnetId: string | core.StringOut;
    transitGatewayAttachmentId: string | core.StringOut;
}
export declare class Associations extends core.Schema<AssociationsArgs> {
    subnetId: string | core.StringOut;
    transitGatewayAttachmentId: string | core.StringOut;
}
export interface DsEc2TransitGatewayMulticastDomainArgs {
    filter?: core.Array<Filter> | core.ArrayOut<Filter>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    transitGatewayMulticastDomainId?: string | core.StringOut;
}
export declare class DsEc2TransitGatewayMulticastDomain extends core.Data<DsEc2TransitGatewayMulticastDomainArgs> {
    arn: string | core.StringOut;
    associations: core.Array<Associations> | core.ArrayOut<Associations>;
    autoAcceptSharedAssociations: string | core.StringOut;
    filter?: core.Array<Filter> | core.ArrayOut<Filter>;
    id: string | core.StringOut;
    igmpv2Support: string | core.StringOut;
    members: core.Array<Members> | core.ArrayOut<Members>;
    ownerId: string | core.StringOut;
    sources: core.Array<Sources> | core.ArrayOut<Sources>;
    state: string | core.StringOut;
    staticSourcesSupport: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    transitGatewayAttachmentId: string | core.StringOut;
    transitGatewayId: string | core.StringOut;
    transitGatewayMulticastDomainId?: string | core.StringOut;
    constructor(name: string, args?: DsEc2TransitGatewayMulticastDomainArgs);
    getNamespace(): string;
}
//# sourceMappingURL=ds_ec2_transit_gateway_multicast_domain.d.ts.map