import { FConnectionBase, FMarkerBase } from '../f-connection';
import { FFlowBase } from '../f-flow';
import { FCanvasBase } from '../f-canvas';
import { FBackgroundBase } from '../f-backgroud';
import { FNodeBase } from '../f-node';
import { FConnectorBase } from '../f-connectors';
import { FDraggableBase } from '../f-draggable';
import { FChannel } from '../reactivity';
import { FLineAlignmentBase } from '../f-line-alignment';
import { IMap } from '../domain';
import * as i0 from "@angular/core";
export declare class FComponentsStore {
    readonly transformChanges$: FChannel;
    readonly dataChanges$: FChannel;
    readonly countChanges$: FChannel;
    get flowHost(): HTMLElement;
    fComponents: IMap<any>;
    fFlow: FFlowBase | undefined;
    fCanvas: FCanvasBase | undefined;
    fBackground: FBackgroundBase | undefined;
    fNodes: FNodeBase[];
    fConnections: FConnectionBase[];
    fTempConnection: FConnectionBase | undefined;
    fSnapConnection: FConnectionBase | undefined;
    fMarkers: FMarkerBase[];
    fOutputs: FConnectorBase[];
    fInputs: FConnectorBase[];
    fOutlets: FConnectorBase[];
    fDraggable: FDraggableBase | undefined;
    fLineAlignment: FLineAlignmentBase | undefined;
    addComponent<T>(collection: T[], component: T): void;
    removeComponent<T>(collection: T[], component: T): void;
    countChanged(): void;
    dataChanged(): void;
    transformChanged(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<FComponentsStore, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<FComponentsStore>;
}
