import { IControlSimulateKey, PageEventType } from './Page/Events';
type Callback = (...args: any) => void;
export interface IEvents {
    on(eventName: PageEventType, callback: Callback): void;
    reOn(eventName: PageEventType, callback: Callback): void;
    removeOn(eventName: PageEventType): void;
    trigger(eventName: PageEventType, args?: any): void;
}
export declare class Eventing {
    events: {
        [key: string]: Callback[];
    };
    on: (eventName: PageEventType, callBack: Callback) => void;
    removeOn: (eventName: PageEventType) => void;
    reOn: (name: PageEventType, callBack: Callback) => void;
    trigger: (eventName: PageEventType, ...args: any) => void;
    onCodeSimulateKeyDown: (key: IControlSimulateKey, propertyName: any, callBack: Callback) => void;
    codeSimulateKeyDown: (key: IControlSimulateKey, propertyName: any, ...args: any) => void;
    removeOnCodeSimulateKeyDown: (key: IControlSimulateKey, propertyName: any) => void;
    triggerChangeFilterOfPage: () => void;
    onFactoryClassWillUnmount: (callBack: Callback) => void;
    factoryClassWillUnmount: () => void;
    onControl: (eventName: PageEventType, propertyName: any, callBack: Callback) => void;
    triggerControl: (eventName: PageEventType, propertyName: any, ...args: any) => void;
    removeOnControl: (eventName: PageEventType, propertyName: any) => void;
    clearAllCallback: () => void;
    private controlWillUnmounts;
    onControlWillUnmount: (propertyName: any, callBack: Callback) => void;
    removeOnControlWillUnmount: (propertyName: any) => void;
    controlWillUnmount: (propertyName: any, ...args: any) => void;
    allControlsWillUnmount: () => void;
}
export {};
