import { ReactStore } from '@base-ui/utils/store'; import { ToastManagerAddOptions, ToastManagerPromiseOptions, ToastManagerUpdateOptions, ToastObject } from "./useToastManager.js"; type ToastInternalUpdateOptions = Partial, 'id' | 'updateKey'>>; /** * A toast once it lives in the store. `addToast` is the only way in and it always * assigns `updateKey`, so unlike the public `ToastObject` it is never missing. */ export type StoredToast = ToastObject & { updateKey: number; }; export type State = { toasts: StoredToast[]; toastMetadata: Map; hovering: boolean; focused: boolean; timeout: number; limit: number; isWindowFocused: boolean; viewport: HTMLElement | null; prevFocusElement: HTMLElement | null; }; type ToastMetadata = { value: StoredToast; domIndex: number; visibleIndex: number; offsetY: number; }; type InitialState = Omit; export declare const selectors: { toasts: (state: State) => StoredToast[]; isEmpty: (state: State) => boolean; toast: (state: State, id: string) => StoredToast | undefined; toastIndex: (state: State, id: string) => number; toastOffsetY: (state: State, id: string) => number; toastVisibleIndex: (state: State, id: string) => number; focused: (state: State) => boolean; expanded: (state: State) => boolean; expandedOrOutOfFocus: (state: State) => boolean; prevFocusElement: (state: State) => HTMLElement | null; }; export declare class ToastStore extends ReactStore { private timers; private areTimersPaused; constructor(initialState: InitialState); setViewport: (viewport: HTMLElement | null) => void; syncProviderProps(timeout: number, limit: number): void; disposeEffect: () => () => void; removeToast(toastId: string, skipOnRemove?: boolean): void; addToast: (toast: ToastManagerAddOptions) => string; updateToast: (id: string, updates: ToastManagerUpdateOptions | ((prevToast: ToastObject) => ToastManagerUpdateOptions)) => void; updateToastInternal: (id: string, updates: ToastInternalUpdateOptions, resetTimer?: boolean, markUpdated?: boolean) => void; closeToast: (toastId?: string) => void; promiseToast: (promiseValue: Promise, options: ToastManagerPromiseOptions) => Promise; pauseTimers(): void; resumeTimers(): void; restoreFocusToPrevElement(): void; handleDocumentPointerDown: (event: PointerEvent) => void; private scheduleTimer; private clearTimers; private clearTimer; private handleTimerFired; private resetPausedStateIfNoTimersRemain; private setToasts; private handleFocusManagement; } export {};