import MicroEditorModel from "../Models/MicroEditorModel";
export declare enum GroupEventTypes {
    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",
    CategoryToggle = "fb:group:{0}:grid:category:toggle"
}
export interface IGridInputSelectedArgs {
    model: MicroEditorModel;
}
export interface IGridLabelResizeArgs {
    width: number;
}
export interface IGridFilterArgs {
    term: string;
}
export interface IGroupEventsOptions extends Jade.IEventBusOptions {
    groupId: string;
}
export default class GroupEvents extends Jade.EventBus {
    private m_groupId;
    constructor(options: IGroupEventsOptions);
    private get groupId();
    inputSelectedSubscribe(callback: (e: IGridInputSelectedArgs) => void): Jade.EventBusSubscription;
    labelResizeSubscribe(callback: (e: IGridLabelResizeArgs) => void): Jade.EventBusSubscription;
    filterSubscribe(callback: (e: IGridFilterArgs) => void): Jade.EventBusSubscription;
    categoriesCollapseAllSubscribe(callback: () => void): Jade.EventBusSubscription;
    categoriesExpandAllSubscribe(callback: (e: IGridFilterArgs) => void): Jade.EventBusSubscription;
    categoryToggleSubscribe(callback: () => void): Jade.EventBusSubscription;
    inputSelectedPublish(e: IGridInputSelectedArgs): void;
    labelResizePublish(e: IGridLabelResizeArgs): void;
    filterPublish(e: IGridFilterArgs): void;
    categoriesCollapseAllPublish(): void;
    categoriesExpandAllPublish(): void;
    categoryTogglePublish(): void;
    subscribe(eventName: string, callback: any): Jade.EventBusSubscription;
    publish(eventName: string, args?: any): void;
}
