import { Application } from '../Application';
import TransformHistory from './history';
import { TransformAnimateEvent, Module } from '../types';
declare type TransformToParam = [
    id: string,
    param?: string,
    history?: number,
    touches?: TouchEvent
];
declare class TransformSwitch extends TransformHistory {
    private readonly windowSet;
    private readonly promiseQueue;
    private readonly promiseParamQueue;
    constructor(app: Application);
    checkSingleLock(): boolean;
    createContainer(module: Module): void;
    resetContainer(module: Module, situ?: boolean): void;
    getViewport(module?: Module): HTMLElement | ShadowRoot;
    checkSwitchover(modulu?: Module, module?: Module): boolean;
    to(...args: TransformToParam): Promise<void>;
    private prev;
    private next;
    private pushPromise;
    private shiftPromise;
    limit(id: string): void;
    destroy(module: Module): void;
    beforehandDependencies(dependencies?: string[]): Promise<unknown>;
    checkPushState(): boolean;
    private promise;
    pos(): {
        x: number;
        y: number;
        width: number;
        height: number;
        attach: string | number[];
        origin: string | number[];
    };
    get backsetState(): 0 | 1 | -1;
    get viewport(): [HTMLElement, HTMLElement];
    modulation(callback: (stillness: boolean) => void): TransformAnimateEvent;
    transform(): Promise<boolean>;
    private hintWillTrans;
    private removeTransHint;
    start(): Promise<void>;
    end(stillness?: boolean): void;
    switchViewport(): void;
}
export default TransformSwitch;
