import { PageHandler } from './PageHandler';
import { Execution } from '../../execution/Execution';
import { SerialBatch } from '../../execution/SerialBatch';
import { ManagedPage, PageAction } from '../PageTypes';
export declare class PageHandlerRegistry extends PageHandler {
    protected _pageHandlers: PageHandler[];
    protected _preManageHandlers?: Execution;
    protected _postManageHandlers?: Execution;
    static ExecutionMethod: typeof SerialBatch;
    /**
     * Creates an instance of HandlerRegistry and creates `SerialBatch`
     * instance for pre-handlers and post-handlers.
     * @memberof HandlerRegistry
     */
    constructor(...pageHandlers: PageHandler[]);
    /**
     * @inheritDoc
     */
    init(): void;
    /**
     * Executes the pre-manage handlers with given arguments
     */
    handlePreManagedState(managedPage: ManagedPage | null, nextManagedPage: ManagedPage, action: PageAction): Promise<unknown>;
    /**
     * Executes the post-manage handlers with given arguments
     */
    handlePostManagedState(managedPage: ManagedPage | null, previousManagedPage: ManagedPage, action: PageAction): Promise<unknown>;
    /**
     * @inheritDoc
     */
    destroy(): void;
}
//# sourceMappingURL=PageHandlerRegistry.d.ts.map