import { type TextStyle, type ViewStyle } from "react-native"; import { type ColorTokens } from "../../style/index.js"; export interface DragDropSkin { /** The grip handle surface (square touch target, platform radius, centered glyph). */ handle: ViewStyle; /** The grip glyph (gripVertical) size in px. */ handleIconSize: number; /** The grip glyph's ink. */ handleIconColor: (t: ColorTokens) => string; /** Opacity applied to the grip while pressed/dragging (the cross-platform press feedback). */ handlePressedOpacity: number; /** A `bordered` zone's resting well. */ zoneWell: (t: ColorTokens) => ViewStyle; /** A `bordered` zone's well while a drag is over it. */ zoneWellActive: (t: ColorTokens) => ViewStyle; /** A `bordered` zone's label, its eyebrow. */ zoneLabel: (t: ColorTokens) => TextStyle; /** The over-zone highlight on an unbordered zone: an absolute edge + wash inside the target. */ zoneActive: (t: ColorTokens) => ViewStyle; /** The keyboard-drag "grabbed" outline on the handle (a focus-like ring while carried). */ handleGrabbed: (t: ColorTokens) => ViewStyle; /** The insertion indicator's thickness in px; the shell sizes + positions it. */ indicatorThickness: number; /** The insertion indicator's fill, corner and glow. */ indicator: (t: ColorTokens) => ViewStyle; /** The dragging ghost surface (elevation/opacity/radius) layered over the page. */ ghost: (t: ColorTokens) => ViewStyle; } /** Web: a compact 32px grip. */ export declare const webSkin: DragDropSkin; /** * iOS: the 32pt grip. The row height already meets the 44pt target, so the grip stays * visually compact within it while the whole row remains the comfortable touch area. */ export declare const iosSkin: DragDropSkin; /** Android: a 40dp circular grip (the Material 3 minimum touch target within a dense row). */ export declare const androidSkin: DragDropSkin; //# sourceMappingURL=drag-drop.styles.d.ts.map