import { type ViewStyle, type TextStyle } from "react-native"; import { type ColorTokens } from "../../style/index.js"; export interface CommandSkin { /** * The search row at the top of the panel: gap, padding, and the hairline under it, * which turns `ring` and thickens while the search field holds focus (the field's * keyboard focus indicator; the field suppresses the browser ring for it). */ searchRow: (t: ColorTokens, focused: boolean) => ViewStyle; /** The leading magnifier glyph size (px), rendered through the kit `Icon` * atom (`search`, tinted muted-foreground) — never a color emoji. */ searchGlyphSize: number; /** The leading magnifier glyph's ink. */ searchGlyphColor: (t: ColorTokens) => string; /** The search input's type metrics, in the muted placeholder color (the * shell repaints typed text with `foreground`). */ searchPlaceholder: (t: ColorTokens) => TextStyle; /** The card's per-OS shape override (radius, and `borderCurve` on iOS): merged * over the shared `card()` base so iOS gets a rounder, continuous corner. */ cardShape: ViewStyle; /** The collapsed trigger row's minimum tap height (px): the HIG/M3 minimum on * the native rows (44pt iOS, 48dp Android), the web look on web. */ triggerMinHeight: number; /** The collapsed trigger row's resting border: the search-field hairline * (`field-border`, see src/style/field-colors.ts) on web and iOS, where the * trigger reads as a field; the 3:1 `input` boundary on Android. */ triggerBorder: (t: ColorTokens) => string; /** A single result row layout (gap, padding, min height). */ rowBase: ViewStyle; /** The active/pressed row fill (the brand accent surface on every platform). */ rowAccent: (t: ColorTokens) => ViewStyle; /** A row's leading Canvas icon size (px), per platform. */ iconSize: number; /** A row's leading icon ink, resting and on the active row. */ iconColor: (t: ColorTokens, active: boolean) => string; /** A row's trailing shortcut, as mono text; `active` on the highlighted row. */ shortcut: (t: ColorTokens, active: boolean) => TextStyle; /** A row's label type (takes the remaining width). */ rowLabel: (t: ColorTokens) => TextStyle; /** iOS/web dim a row on press; Android ripples instead (null). */ rowPressedOpacity: number | null; /** Android ripple over the rows; null on iOS/web. */ ripple: ((t: ColorTokens) => { color: string; borderless: boolean; }) | null; } export declare const CARD_WIDTH = 520; export declare function card(tokens: ColorTokens): ViewStyle; export declare const embedded: ViewStyle; export declare const results: ViewStyle; export declare const resultsContent: ViewStyle; export declare const rowText: ViewStyle; export declare const stackedLabel: TextStyle; export declare function rowDescription(tokens: ColorTokens): TextStyle; export declare const cardFloating: ViewStyle; export declare function groupHeading(tokens: ColorTokens): TextStyle; export declare const triggerWrapper: ViewStyle; export declare const triggerWrapperLifted: ViewStyle; export declare function triggerRow(tokens: ColorTokens): ViewStyle; export declare function triggerLabel(tokens: ColorTokens): TextStyle; export declare const triggerKbd: ViewStyle; export declare const emptyRow: ViewStyle; export declare function emptyText(tokens: ColorTokens): TextStyle; export declare function footerBar(tokens: ColorTokens): ViewStyle; export declare function footerText(tokens: ColorTokens): TextStyle; export declare const webSkin: CommandSkin; export declare const iosSkin: CommandSkin; export declare const androidSkin: CommandSkin; //# sourceMappingURL=command.styles.d.ts.map