type EventExecute = (...args: T) => void; type PromiseEventExecute = (...args: T) => Promise; type EventComplete = () => void; type EventError = (e: any) => void; export declare class Event { private event; ended: boolean; onended?: () => void; onerror: (e: any) => void; execute: (...args: T) => void; complete: () => void; error: (e: any) => void; allUnsubscribe: () => void; subscribe: (execute: EventExecute, complete?: EventComplete, error?: EventError) => { unSubscribe: () => void; disposer: (disposer: EventDisposer) => void; }; queuingSubscribe: (execute: PromiseEventExecute, complete?: EventComplete, error?: EventError) => { unSubscribe: () => void; disposer: (disposer: EventDisposer) => void; }; once: (execute: EventExecute, complete?: EventComplete, error?: EventError) => void; watch: (cb: (...args: T) => boolean, timeLimit?: number) => Promise; asPromise: (timeLimit?: number) => Promise; get returnTrigger(): { execute: (...args: T) => void; error: (e: any) => void; complete: () => void; }; get returnListener(): { subscribe: (execute: EventExecute, complete?: EventComplete, error?: EventError) => { unSubscribe: () => void; disposer: (disposer: EventDisposer) => void; }; once: (execute: EventExecute, complete?: EventComplete, error?: EventError) => void; asPromise: (timeLimit?: number) => Promise; }; get length(): number; } export declare class EventDisposer { private _disposer; push(disposer: () => void): void; dispose(): void; } export {};