import * as core from "@terrascript/core";
export interface VirtualNodeArgs extends core.SchemaArgs {
    virtualNodeName: string | core.StringOut;
}
export declare class VirtualNode extends core.Schema<VirtualNodeArgs> {
    virtualNodeName: string | core.StringOut;
}
export interface VirtualRouterArgs extends core.SchemaArgs {
    virtualRouterName: string | core.StringOut;
}
export declare class VirtualRouter extends core.Schema<VirtualRouterArgs> {
    virtualRouterName: string | core.StringOut;
}
export interface ProviderArgs extends core.SchemaArgs {
    virtualNode: core.Array<VirtualNode> | core.ArrayOut<VirtualNode>;
    virtualRouter: core.Array<VirtualRouter> | core.ArrayOut<VirtualRouter>;
}
export declare class Provider extends core.Schema<ProviderArgs> {
    virtualNode: core.Array<VirtualNode> | core.ArrayOut<VirtualNode>;
    virtualRouter: core.Array<VirtualRouter> | core.ArrayOut<VirtualRouter>;
}
export interface SpecArgs extends core.SchemaArgs {
    provider: core.Array<Provider> | core.ArrayOut<Provider>;
}
export declare class Spec extends core.Schema<SpecArgs> {
    provider: core.Array<Provider> | core.ArrayOut<Provider>;
}
export interface DsVirtualServiceArgs {
    meshName: string | core.StringOut;
    meshOwner?: string | core.StringOut;
    name: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class DsVirtualService extends core.Data<DsVirtualServiceArgs> {
    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: core.Array<Spec> | core.ArrayOut<Spec>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    constructor(name: string, args?: DsVirtualServiceArgs);
    getNamespace(): string;
}
//# sourceMappingURL=ds_virtual_service.d.ts.map