import { type ViewStyle, type TextStyle } from "react-native"; import { type ColorTokens } from "../../style/index.js"; export interface BoardSkin { /** The horizontal row of columns (the ScrollView content): direction, alignment, gap. */ lanes: (compact: boolean) => ViewStyle; /** A column's lane surface (fill, edge, radius, padding, header-to-list gap). */ column: (t: ColorTokens, compact: boolean) => ViewStyle; /** The column header row (label + count). */ columnHeader: ViewStyle; /** The column header label type. */ columnLabel: (t: ColorTokens) => TextStyle; /** The column's item count (or its explicit badge text) type. */ columnCount: (t: ColorTokens) => TextStyle; /** The card stack inside a column (gap; a minHeight keeps an empty column droppable). */ cardList: (compact: boolean) => ViewStyle; /** A card's surface (fill, edge, corner, shade, padding). */ card: (t: ColorTokens, compact: boolean) => ViewStyle; /** The row inside a card: the (pressable) body column + the trailing cluster. */ cardRow: ViewStyle; /** The card's text column (title, description, chips slot). */ bodyColumn: (compact: boolean) => ViewStyle; /** The card title type. */ cardTitle: (t: ColorTokens, compact: boolean) => TextStyle; /** The subtle, 2-line-clamped description type. */ cardDescription: (t: ColorTokens) => TextStyle; /** The consumer `chips` slot row (wraps; spacing only, content is the consumer's). */ chipsRow: ViewStyle; /** The trailing column: grip + kebab cluster on top, badge under it. */ trailingColumn: ViewStyle; /** The grip + kebab row within the trailing column. */ trailingCluster: ViewStyle; /** The dashed slot an empty column shows. */ emptySlot: (t: ColorTokens) => ViewStyle; /** The empty-column message type. */ emptyLabel: (t: ColorTokens) => TextStyle; /** The pressable card body's own shape (radius; Android clips its ripple to it). */ pressableBody: ViewStyle; /** The fill applied to the pressed card body (web/iOS tint; Android ripples instead). */ pressedSurface: (t: ColorTokens) => ViewStyle; /** iOS dims the pressed body on top of the tint; null elsewhere. */ pressedOpacity: number | null; /** Android ripple over the pressable card body; null on iOS/web. */ ripple: ((t: ColorTokens) => { color: string; borderless: boolean; }) | null; } /** Web: the hand-off's board. */ export declare const webSkin: BoardSkin; /** iOS: no board control; the web skin's parts in SF Pro, the pressed body dimmed. */ export declare const iosSkin: BoardSkin; /** Android: no Material 3 board; the web skin's parts in Roboto, the card body ripples. */ export declare const androidSkin: BoardSkin; export declare const plainLane: (bleed: number, viewportWidth: number, columns: number) => ViewStyle; export declare const plainColumn: ViewStyle; //# sourceMappingURL=board.styles.d.ts.map