import MicroEditorModel from "../Models/MicroEditorModel.js";
export declare enum Events {
    ErrorsLoad = "fb:errors:load",
    FeatureValueChanged = "fb:feature:value:changed",
    GridLabelResize = "fb:group:{0}:grid:label:resize",
    GridDescriptionResize = "fb:group:{0}:grid:description:resize",
    GridInputSelected = "fb:group:{0}:grid:input:selected",
    GridFilter = "fb:group:{0}:grid:filter",
    CategoriesExpandAll = "fb:group:{0}:grid:categories:expand-all",
    CategoriesCollapseAll = "fb:group:{0}:grid:categories:collapse-all",
    NavigationSelect = "fb:navigation:select",
    FeaturesLoaded = "fb:features:loaded"
}
export interface ITargetedArgs {
    uid: string;
}
export interface IGridInputSelectedArgs {
    model: MicroEditorModel;
}
export interface IGridDescriptionResizeArgs extends ITargetedArgs {
    height: number;
}
export interface IGridLabelResizeArgs extends ITargetedArgs {
    width: number;
}
export interface IGridFilterArgs {
    term: string;
}
export interface INavigationSelectArgs {
    id: string;
}
export interface IEventsHubOptions {
    scope?: string;
}
export declare class EventsHub {
    private m_events;
    private m_scope;
    private static m_scopes;
    private constructor();
    protected get contexts(): Jade.ContextManager;
    protected get global(): Jade.ContextEventBus;
    protected get current(): Jade.ContextEventBus;
    protected get local(): Jade.ContextEventBus;
    protected get scope(): string;
    errorsLoadSubscribe(callback: () => void): Jade.EventBusSubscription;
    featuresLoadedSubscribe(callback: () => void): Jade.EventBusSubscription;
    gridInputSelectedSubscribe(callback: (e: IGridInputSelectedArgs) => void): Jade.EventBusSubscription;
    gridDescriptionResizeSubscribe(callback: (e: IGridDescriptionResizeArgs) => void): Jade.EventBusSubscription;
    gridLabelResizeSubscribe(callback: (e: IGridLabelResizeArgs) => void): Jade.EventBusSubscription;
    gridFilterSubscribe(callback: (e: IGridFilterArgs) => void): Jade.EventBusSubscription;
    navigationSelectSubscribe(callback: (e: INavigationSelectArgs) => void): Jade.EventBusSubscription;
    errorsLoadPublish(): void;
    featuresLoadedPublish(): void;
    gridInputSelectedPublish(e: IGridInputSelectedArgs): void;
    gridDescriptionResizePublish(e: IGridDescriptionResizeArgs): void;
    gridLabelResizePublish(e: IGridLabelResizeArgs): void;
    gridFilterPublish(e: IGridFilterArgs): void;
    navigationSelectPublish(e: INavigationSelectArgs): void;
    static get(scope?: string): EventsHub;
    private subscribeLocal;
    private publishLocal;
}
