import * as core from "@terrascript/core";
export interface AssociationsArgs extends core.SchemaArgs {
    gatewayId: string | core.StringOut;
    main: boolean | core.BooleanOut;
    routeTableAssociationId: string | core.StringOut;
    routeTableId: string | core.StringOut;
    subnetId: string | core.StringOut;
}
export declare class Associations extends core.Schema<AssociationsArgs> {
    gatewayId: string | core.StringOut;
    main: boolean | core.BooleanOut;
    routeTableAssociationId: string | core.StringOut;
    routeTableId: string | core.StringOut;
    subnetId: 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 RoutesArgs extends core.SchemaArgs {
    carrierGatewayId: string | core.StringOut;
    cidrBlock: string | core.StringOut;
    coreNetworkArn: string | core.StringOut;
    destinationPrefixListId: string | core.StringOut;
    egressOnlyGatewayId: string | core.StringOut;
    gatewayId: string | core.StringOut;
    instanceId: string | core.StringOut;
    ipv6CidrBlock: string | core.StringOut;
    localGatewayId: string | core.StringOut;
    natGatewayId: string | core.StringOut;
    networkInterfaceId: string | core.StringOut;
    transitGatewayId: string | core.StringOut;
    vpcEndpointId: string | core.StringOut;
    vpcPeeringConnectionId: string | core.StringOut;
}
export declare class Routes extends core.Schema<RoutesArgs> {
    carrierGatewayId: string | core.StringOut;
    cidrBlock: string | core.StringOut;
    coreNetworkArn: string | core.StringOut;
    destinationPrefixListId: string | core.StringOut;
    egressOnlyGatewayId: string | core.StringOut;
    gatewayId: string | core.StringOut;
    instanceId: string | core.StringOut;
    ipv6CidrBlock: string | core.StringOut;
    localGatewayId: string | core.StringOut;
    natGatewayId: string | core.StringOut;
    networkInterfaceId: string | core.StringOut;
    transitGatewayId: string | core.StringOut;
    vpcEndpointId: string | core.StringOut;
    vpcPeeringConnectionId: string | core.StringOut;
}
export interface DsRouteTableArgs {
    filter?: core.Array<Filter> | core.ArrayOut<Filter>;
    gatewayId?: string | core.StringOut;
    routeTableId?: string | core.StringOut;
    subnetId?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    vpcId?: string | core.StringOut;
}
export declare class DsRouteTable extends core.Data<DsRouteTableArgs> {
    arn: string | core.StringOut;
    associations: core.Array<Associations> | core.ArrayOut<Associations>;
    filter?: core.Array<Filter> | core.ArrayOut<Filter>;
    gatewayId?: string | core.StringOut;
    id: string | core.StringOut;
    ownerId: string | core.StringOut;
    routeTableId?: string | core.StringOut;
    routes: core.Array<Routes> | core.ArrayOut<Routes>;
    subnetId?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    vpcId?: string | core.StringOut;
    constructor(name: string, args?: DsRouteTableArgs);
    getNamespace(): string;
}
//# sourceMappingURL=ds_route_table.d.ts.map