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 { /** Original square application side panel. Native skins keep their platform shape. */ plainPanel?: (edge: Edge, width: number, t: ColorTokens) => ViewStyle; /** * 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). */ /** The legacy dimming alpha per scheme, used only when the theme has no `scrim`. */ 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 positioner) * 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; /** The header and footer bands' inset (the renderer's panel padding). */ band: ViewStyle; /** A side panel's cap against the window (or, embedded, its parent): the web's 70%. */ sideMaxWidth?: ViewStyle; } export declare const panelLayer: Record; /** The layer that carries the panel's slide transform; box-none, as the panel layer is. */ export declare const slideLayer: ViewStyle; export declare const embeddedRoot: ViewStyle; export declare const embeddedLayer: ViewStyle; export declare const panelPos: Record; export declare const webSkin: DrawerSkin; export declare const iosSkin: DrawerSkin; export declare const androidSkin: DrawerSkin; /** Terminal sidebars float inside the window with a complete solid screen surface. */ export declare function terminalLayer(inset: number): ViewStyle; export declare function terminalPanel(width: number, t: ColorTokens): ViewStyle; //# sourceMappingURL=drawer.styles.d.ts.map