import { OpenChangeReason } from '@floating-ui/react'; import { OverlayPanelProps, PanelCloseReason, PanelDividerColor, PanelModalType, PanelPosition, PanelProps, PanelWidth, ResolvedPanelOffset } from './Panel.types'; export declare const isPresetWidth: (w: PanelWidth | undefined) => w is "sm" | "md" | "lg"; export declare const PANEL_TRANSITION_DURATION_MS = 400; export declare function resolveOffset(offset: Exclude): ResolvedPanelOffset; export declare const DEFAULT_PANEL_DIVIDER_COLOR: PanelDividerColor; export declare const getResolvedPanelPosition: (position?: PanelPosition) => PanelPosition; export declare const getPanelDividerState: (divider: boolean, position?: PanelPosition) => { showDivider: boolean; dividerBefore: boolean; dividerInner: boolean; dividerAfter: boolean; }; /** * Returns the floating-ui `dismiss` config for an overlay panel. * * - `isModal` / omitted — `undefined` (floating-ui defaults: ESC + backdrop click both close) * - `nonModal` — ESC closes; outside-press closes only when `closeOnOutsidePress={true}` * - `alert` — ESC and outside-press both suppressed */ export declare const getPanelDismissConfig: (modalType: PanelModalType | undefined, closeOnOutsidePress?: boolean) => { escapeKey: boolean; outsidePress: boolean; } | undefined; export declare const usePanelClose: (onBeforeClose: PanelProps["onBeforeClose"], onOpenChange: PanelProps["onOpenChange"]) => { requestClose: (reason: PanelCloseReason) => void; handleOverlayOpenChange: (nextOpen: boolean, _event?: Event, floatingReason?: OpenChangeReason) => void; };