import type { IGraphSpec, IComponentSpec } from './GraphSpec';
type ComponentBuilderParent = GraphBuilder | ComponentBuilder;
export declare class ComponentBuilder {
    private spec;
    private parent;
    constructor(parent: ComponentBuilderParent, name: string, tag?: string);
    tag(tag: string): this;
    mountSuffix(suffix: string): this;
    accepts(...channels: string[]): this;
    emits(...events: string[]): this;
    implements(ifaceName: string): this;
    child(name: string, tag?: string): ComponentBuilder;
    phantomChild(name: string, mount: string, tag?: string, ifaceName?: string): this;
    end(): ComponentBuilderParent;
    _getSpec(): IComponentSpec;
    _addChild(child: IComponentSpec): void;
}
export declare class GraphBuilder {
    private components;
    constructor();
    component(name: string, tag?: string): ComponentBuilder;
    _addComponent(spec: IComponentSpec): void;
    build(): IGraphSpec;
}
export {};
//# sourceMappingURL=GraphBuilder.d.ts.map