import { type ViewStyle } from "react-native"; import { type ColorScheme, type ColorTokens } from "../../style/index.js"; export type Edge = "left" | "right" | "bottom" | "top"; export interface DrawerSkin { /** * The scrim dimming alpha behind the panel, resolved per color SCHEME so a * platform can dim differently in light vs dark (iOS light 0.2 / dark 0.48; * Android 0.32; web 0.5 — the latter two are scheme-invariant). */ scrimOpacity: (scheme: ColorScheme) => number; /** The panel surface shape per edge: fill, edge geometry, border, radius, elevation. */ panelShape: (edge: Edge, width: number, t: ColorTokens) => ViewStyle; /** * Max width for a bottom/top SHEET, capping + centering it (and its tap-catcher) * on wide windows; null = full width. Android caps at the M3 640dp bottom-sheet * token; iOS/web sheets span the full width. */ sheetMaxWidth: number | null; /** * An optional grabber/drag handle drawn at the near edge of a SHEET (the iOS * grabber and the M3 drag handle); returns null for edges/platforms that carry * none (side drawers, web). */ handle: ((edge: Edge, t: ColorTokens) => ViewStyle | null) | null; /** * The minimum touch-target height for the built-in trigger Button, enforced via * minHeight so the effective tap area clears the platform floor (iOS HIG 44pt, * M3 48dp); null on web (pointer-first, layout untouched). */ triggerMinHeight: number | null; } export declare function scrim(edge: Edge, opacity: number): ViewStyle; export declare const panelPos: Record; export declare const webSkin: DrawerSkin; export declare const iosSkin: DrawerSkin; export declare const androidSkin: DrawerSkin; //# sourceMappingURL=drawer.styles.d.ts.map