import * as React from 'react'; import type { LayerKind } from '../contracts/preferences.js'; export type DismissableLayerOutsideEvent = PointerEvent | MouseEvent | TouchEvent | FocusEvent; export interface DismissableLayerProps extends React.HTMLAttributes { /** S-25 layer kind — attribution for the stack (defaults to 'popover'). */ layerKind?: LayerKind; /** Stops all dismissal behaviour (outside events and Escape). */ disabled?: boolean; /** Blocks pointer events outside the layer while it is mounted. */ disableOutsidePointerEvents?: boolean; /** Called on Escape; call `preventDefault()` to keep the layer open. */ onEscapeKeyDown?: (event: KeyboardEvent) => void; /** Called on a pointer down outside; call `preventDefault()` to keep the layer open. */ onPointerDownOutside?: (event: DismissableLayerOutsideEvent) => void; /** Called when focus moves outside; call `preventDefault()` to keep the layer open. */ onFocusOutside?: (event: FocusEvent) => void; /** Called on any outside pointer down or focus; call `preventDefault()` to keep the layer open. */ onInteractOutside?: (event: DismissableLayerOutsideEvent) => void; /** Called when the layer should close. */ onDismiss?: () => void; /** Ref to the rendered root element. */ ref?: React.Ref; } export declare function DismissableLayer({ layerKind, disabled, disableOutsidePointerEvents, onEscapeKeyDown, onPointerDownOutside, onFocusOutside, onInteractOutside, onDismiss, style, ref, ...props }: DismissableLayerProps): React.ReactElement; export declare namespace DismissableLayer { var displayName: string; } //# sourceMappingURL=DismissableLayer.d.ts.map