export interface IRuntimeRef {
    /** Logical runtime name, e.g. "local", "edge-eu-west-1". */
    name: string;
    /** Control-plane mount, e.g. "runtimes.local.control". */
    mount: string;
    tags?: string[];
    constraints?: Record<string, unknown>;
}
export interface ITopologyComponentSpec {
    name: string;
    tag: string;
    kind?: 'component' | 'runtime' | 'flow' | 'service';
    accepts?: string[];
    emits?: string[];
    ifaceName?: string;
    placement?: {
        /** Optional logical runtime name (must match IRuntimeRef.name). */
        runtimeName?: string;
        /** Optional explicit runtime control mount. */
        runtimeMount?: string;
        /** Optional explicit full component mount. */
        explicitMount?: string;
    };
    children?: ITopologyComponentSpec[];
}
export interface ITopologyPlan {
    id: string;
    rootRuntime: IRuntimeRef;
    runtimes: IRuntimeRef[];
    components: ITopologyComponentSpec[];
}
//# sourceMappingURL=TopologyTypes.d.ts.map