import * as core from "@terrascript/core";
export interface PortMappingArgs extends core.SchemaArgs {
    port: number | core.NumberOut;
    protocol: string | core.StringOut;
}
export declare class PortMapping extends core.Schema<PortMappingArgs> {
    port: number | core.NumberOut;
    protocol: string | core.StringOut;
}
export interface ListenerArgs extends core.SchemaArgs {
    portMapping: PortMapping;
}
export declare class Listener extends core.Schema<ListenerArgs> {
    portMapping: PortMapping;
}
export interface SpecArgs extends core.SchemaArgs {
    listener: Listener;
}
export declare class Spec extends core.Schema<SpecArgs> {
    listener: Listener;
}
export interface VirtualRouterArgs extends core.ResourceArgs {
    meshName: string | core.StringOut;
    meshOwner?: string | core.StringOut;
    name: string | core.StringOut;
    spec: Spec;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class VirtualRouter extends core.Resource<VirtualRouterArgs> {
    arn: string | core.StringOut;
    createdDate: string | core.StringOut;
    id: string | core.StringOut;
    lastUpdatedDate: string | core.StringOut;
    meshName: string | core.StringOut;
    meshOwner?: string | core.StringOut;
    name: string | core.StringOut;
    resourceOwner: string | core.StringOut;
    spec: Spec;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    constructor(name: string, args?: VirtualRouterArgs);
    getNamespace(): string;
}
//# sourceMappingURL=virtual_router.d.ts.map