import { IEventDispatcher } from "../../events/api/IEventDispatcher";
import { ILifecycle } from "../api/ILifecycle";
/**
 * Default object lifecycle
 *
 * @private
 */
export declare class Lifecycle implements ILifecycle {
    private _state;
    /**
     * @inheritDoc
     */
    get state(): string;
    private _target;
    /**
     * @inheritDoc
     */
    get target(): IEventDispatcher;
    /**
     * @inheritDoc
     */
    get uninitialized(): boolean;
    /**
     * @inheritDoc
     */
    get initialized(): boolean;
    /**
     * @inheritDoc
     */
    get active(): boolean;
    /**
     * @inheritDoc
     */
    get suspended(): boolean;
    /**
     * @inheritDoc
     */
    get destroyed(): boolean;
    private _reversedEventTypes;
    private _reversePriority;
    private _initialize;
    private _suspend;
    private _resume;
    private _destroy;
    private _dispatcher;
    /**
     * Creates a lifecycle for a given target object
     *
     * @param target The target object
     */
    constructor(target: IEventDispatcher);
    /**
     * @inheritDoc
     */
    initialize(callback?: Function): void;
    /**
     * @inheritDoc
     */
    suspend(callback?: Function): void;
    /**
     * @inheritDoc
     */
    resume(callback?: Function): void;
    /**
     * @inheritDoc
     */
    destroy(callback?: Function): void;
    /**
     * @inheritDoc
     */
    beforeInitializing(handler: Function): ILifecycle;
    /**
     * @inheritDoc
     */
    whenInitializing(handler: Function): ILifecycle;
    /**
     * @inheritDoc
     */
    afterInitializing(handler: Function): ILifecycle;
    /**
     * @inheritDoc
     */
    beforeSuspending(handler: Function): ILifecycle;
    /**
     * @inheritDoc
     */
    whenSuspending(handler: Function): ILifecycle;
    /**
     * @inheritDoc
     */
    afterSuspending(handler: Function): ILifecycle;
    /**
     * @inheritDoc
     */
    beforeResuming(handler: Function): ILifecycle;
    /**
     * @inheritDoc
     */
    whenResuming(handler: Function): ILifecycle;
    /**
     * @inheritDoc
     */
    afterResuming(handler: Function): ILifecycle;
    /**
     * @inheritDoc
     */
    beforeDestroying(handler: Function): ILifecycle;
    /**
     * @inheritDoc
     */
    whenDestroying(handler: Function): ILifecycle;
    /**
     * @inheritDoc
     */
    afterDestroying(handler: Function): ILifecycle;
    /**
     * @inheritDoc
     */
    addEventListener(type: string, listener: Function, useCapture?: boolean, priority?: number, useWeakReference?: boolean): void;
    /**
     * @inheritDoc
     */
    removeEventListener(type: string, listener: Function, useCapture?: boolean): void;
    /**
     * @inheritDoc
     */
    dispatchEvent(event: any): boolean;
    /**
     * @inheritDoc
     */
    hasEventListener(type: string): boolean;
    /**
     * @inheritDoc
     */
    willTrigger(type: string): boolean;
    setCurrentState(state: string): void;
    addReversedEventTypes(...types: any[]): void;
    private _configureTransitions;
    private _flipPriority;
    private _createSyncLifecycleListener;
    private _reportError;
}
