import { Application } from '../Application';
import { SegueAnimation } from './Animation';
import { SegueActionOrigin, Applet, PresetConfig } from '../types';
declare type SegueToOptions = [
    id: string,
    param?: string,
    pushStatus?: -1 | 0 | 1,
    touches?: SegueActionOrigin,
    disableAnimation?: boolean
];
declare class SegueSwitch extends SegueAnimation {
    private promiseId;
    private readonly windowSet;
    private readonly promiseQueue;
    private readonly promiseParamQueue;
    constructor(app: Application, presetConfig: PresetConfig);
    to(...args: SegueToOptions): Promise<void>;
    attachAppletViewport(applet: Applet): void;
    private delayDynamicImport;
    private setStepState;
    private resetAppletViewport;
    private prev;
    private next;
    private pushPromise;
    private shiftPromise;
    private bindPromiseDone;
    private limit;
    private destroy;
    private to404;
    private promise;
    private pos;
    private modulation;
    private transform;
    private start;
    private end;
    private switchViewport;
    private switchApplet;
}
export { SegueSwitch };
