import type { JSX } from 'solid-js'; export interface AutocompleteOptionStateOptions { value: T; disabled?: boolean; } export interface AutocompleteOptionStateProperties { isSelected: () => boolean; select: () => void; isActive: () => boolean; focus: () => void; blur: () => void; disabled: () => boolean; matches: () => boolean; } /** * Creates one option's view of the nearest autocomplete state, so the option * can ask whether it is selected, active, or a match for the current query. * * @see {@link https://github.com/lxsmnsyc/terracotta/blob/main/docs/states.md#autocomplete-option-state} */ export declare function createAutocompleteOptionState(options: AutocompleteOptionStateOptions): AutocompleteOptionStateProperties; export interface AutocompleteOptionStateRenderProps { children?: JSX.Element | ((state: AutocompleteOptionStateProperties) => JSX.Element); } export interface AutocompleteOptionStateProviderProps extends AutocompleteOptionStateRenderProps { state: AutocompleteOptionStateProperties; } export declare function AutocompleteOptionStateProvider(props: AutocompleteOptionStateProviderProps): JSX.Element; /** * Reads the nearest autocomplete option state from context. Throws when there * is none. * * @see {@link https://github.com/lxsmnsyc/terracotta/blob/main/docs/states.md#autocomplete-option-state} */ export declare function useAutocompleteOptionState(): AutocompleteOptionStateProperties; /** * Passes the nearest autocomplete option state to a render prop. A function * child is treated as a render prop only when it declares exactly one * parameter. * * @see {@link https://github.com/lxsmnsyc/terracotta/blob/main/docs/states.md#autocomplete-option-state} */ export declare function AutocompleteOptionStateChild(props: AutocompleteOptionStateRenderProps): JSX.Element; //# sourceMappingURL=create-autocomplete-option-state.d.ts.map