import type PluginManager from '@jbrowse/core/PluginManager';
import type { DialogComponentType } from '@jbrowse/core/util';
import type { IAnyStateTreeNode, Instance } from 'mobx-state-tree';
export declare function DialogQueueSessionMixin(_pluginManager: PluginManager): import("mobx-state-tree").IModelType<{}, {
    queueOfDialogs: [DialogComponentType, unknown][];
} & {
    readonly DialogComponent: DialogComponentType | undefined;
    readonly DialogProps: unknown;
} & {
    removeActiveDialog(): void;
    queueDialog(cb: (doneCallback: () => void) => [DialogComponentType, unknown]): void;
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
export type SessionWithDialogsType = ReturnType<typeof DialogQueueSessionMixin>;
export type SessionWithDialogs = Instance<SessionWithDialogsType>;
export declare function isSessionWithDialogs(session: IAnyStateTreeNode): session is SessionWithDialogs;
