import { FluxAlertObject, FluxConfirmObject, FluxPromptObject, FluxSnackbarObject, FluxTooltipObject } from '@flux-ui/types'; import { ComputedRef } from 'vue'; export type FluxState = { readonly dialogs: number[]; readonly alerts: FluxAlertObject[]; readonly confirms: FluxConfirmObject[]; readonly prompts: FluxPromptObject[]; readonly snackbars: FluxSnackbarObject[]; readonly tooltips: FluxTooltipObject[]; }; export type FluxDialogRegistration = { readonly id: number; getPosition(): number; isCurrent(): boolean; unregister(): void; }; export type FluxStore = FluxState & { readonly dialogCount: number; readonly inertMain: ComputedRef; readonly tooltip: ComputedRef; addAlert(spec: Omit): number; addConfirm(spec: Omit): number; addPrompt(spec: Omit): number; addSnackbar(spec: Omit): number; addTooltip(spec: Omit): number; pauseSnackbar(id: number): void; registerDialog(): FluxDialogRegistration; removeAlert(id: number): void; removeConfirm(id: number): void; removePrompt(id: number): void; removeSnackbar(id: number): void; removeTooltip(id: number): void; resumeSnackbar(id: number): void; showAlert(spec: Omit): Promise; showConfirm(spec: Omit): Promise; showPrompt(spec: Omit): Promise; showSnackbar({ duration, ...spec }: Omit & { readonly duration?: number; }): Promise | void; updateSnackbar(id: number, spec: Partial>): void; updateTooltip(id: number, spec: Partial>): void; showSnackbarSync({ duration, ...spec }: Omit & { readonly duration?: number; }): void; }; export declare function addAlert(spec: Omit): number; export declare function addConfirm(spec: Omit): number; export declare function addPrompt(spec: Omit): number; export declare function addSnackbar(spec: Omit): number; export declare function addTooltip(spec: Omit): number; export declare function registerDialog(): FluxDialogRegistration; export declare function removeAlert(id: number): void; export declare function removeConfirm(id: number): void; export declare function removePrompt(id: number): void; export declare function removeSnackbar(id: number): void; export declare function removeTooltip(id: number): void; export declare function updateSnackbar(id: number, spec: Partial>): void; export declare function updateTooltip(id: number, spec: Partial>): void; export declare function showAlert(spec: Omit): Promise; export declare function showConfirm(spec: Omit): Promise; export declare function showPrompt(spec: Omit): Promise; export declare function pauseSnackbar(id: number): void; export declare function resumeSnackbar(id: number): void; export declare function showSnackbar({ duration, ...spec }: Omit & { readonly duration?: number; }): void; export declare function useFluxStore(): FluxStore;