declare class Event {
    _cache: {};
    constructor();
    /**
     * Event registration
     * Subclasses need to override
     * @protected
     */
    protected _registerEvent(): void;
    /**
     * @param type
     * @param callback
     * @param context
     * @returns {any}
     * @private
     */
    _on(type: any, callback: (e: any) => void, context: any): any;
    /**
     * @param type
     * @param callback
     * @param context
     * @returns {boolean}
     * @private
     */
    _off(type: any, callback: any, context: any): boolean;
    /**
     * @param type
     * @param params
     * @private
     */
    _fire(type: any, params: any): void;
    /**
     * Subscribe event
     * @param type
     * @param callback
     * @param context
     * @returns remove callback function
     */
    on(type: any, callback: any, context: any): any;
    /**
     * Subscribe once event
     * @param type
     * @param callback
     * @param context
     */
    once(type: any, callback: (arg0: any) => void, context: any): void;
    /**
     * Unsubscribe event
     * @param type
     * @param callback
     * @param context
     * @returns Boolean
     */
    off(type: any, callback: any, context: any): boolean;
    /**
     * Trigger subscription event
     * @param type
     * @param params
     */
    fire(type: any, params: any): void;
    /**
     * Returns events by type
     * @param type
     * @returns Event
     */
    getEvent(type: string | number): any;
}
export default Event;
