import { type ViewStyle, type TextStyle } from "react-native"; import { type ColorTokens, type FloatingLabelStyles } from "../../style/index.js"; import { type SelectDisclosure } from "../select/select.styles.js"; export type Size = "small" | "default" | "large"; export interface AutocompleteSkin extends FloatingLabelStyles { /** Clear Liquid Glass text entry on the web appearance. */ liquid?: boolean; /** Type scale per size; the field text shares it. */ text: (size: Size) => TextStyle; /** Stacked (above-field) label type, used on iOS + web (`floatingLabel: false`). On * Android the label FLOATS inside the field instead. */ label: (t: ColorTokens, size: Size) => TextStyle; /** * The editable field surface: shape, fill, and the edge of its state. `active` (the * field holds focus or its list is open) is the field's own focus indicator; `hovered` * is read only by a skin that draws it (the web's hover edge). */ field: (t: ColorTokens, size: Size, active: boolean, hovered?: boolean) => ViewStyle; /** A pointer hover steps the resting edge (web and the iOS skin that shares its look; native pointer hover waits on the owner). */ hover?: boolean; /** The halo a focused field wears around its edge, or none. */ focusHalo?: (t: ColorTokens) => ViewStyle; /** The leading search glyph, or none (the Material field, whose label floats there). */ searchIcon?: { size: number; color: (t: ColorTokens) => string; }; /** The field's value text (foreground), or the placeholder ink. */ fieldText: (t: ColorTokens, size: Size, muted: boolean) => TextStyle; /** The trailing disclosure glyph inside the toggle. */ disclosure: SelectDisclosure; /** The disclosure's real layout/touch target, including the field's border band. */ chevronTarget: (size: Size) => ViewStyle; /** * The open option list CARD: radius, fill, border, elevation/shadow, padding, * max-height. Positioning is owned by the shell (AnchoredOverlay portals and * anchors it; POPOVER_ANCHOR is the no-host inline fallback), so this returns * card visuals only, no position/top/zIndex. */ popover: (t: ColorTokens) => ViewStyle; /** The space between the field and the open list. */ popoverGap: number; /** The "No results" row box. */ emptyRow: ViewStyle; emptyText: (t: ColorTokens, size: Size) => TextStyle; /** A single option row's layout (gutter, radius, padding). */ row: ViewStyle; /** The fill of the SELECTED row at rest, or null for none. */ rowSelected: (t: ColorTokens) => ViewStyle | null; /** The fill of the keyboard-active and the PRESSED row. */ rowPressed: (t: ColorTokens) => ViewStyle; /** The option label. */ optionText: (t: ColorTokens, size: Size) => TextStyle; /** An option's trailing detail (an `AutocompleteOption`'s `detail`), at the row's end. */ optionDetail: (t: ColorTokens) => TextStyle; /** The letters of an option that match the query. */ highlight: (t: ColorTokens) => TextStyle; /** Helper line below the field. */ helper: (t: ColorTokens) => TextStyle; /** Opacity applied to the whole control when disabled. */ disabledOpacity: number; /** iOS/web dim the toggle on press; Android uses a ripple instead (null). */ pressedOpacity: number | null; /** Android ripple over the pressable surfaces; null on iOS/web. */ ripple: ((t: ColorTokens) => { color: string; borderless: boolean; }) | null; } export declare const wrapper: ViewStyle; export declare const wrapperLifted: ViewStyle; export declare const webSkin: AutocompleteSkin; export declare const iosSkin: AutocompleteSkin; export declare const androidSkin: AutocompleteSkin; //# sourceMappingURL=autocomplete.styles.d.ts.map