import type { JSX } from 'solid-js'; export interface AutocompleteStateProperties { isSelected(value: T): boolean; select(value: T): void; hasSelected(): boolean; isActive(value: T): boolean; hasActive(): boolean; focus(value: T): void; blur(): void; disabled(): boolean; query(): string; setQuery(value: string): void; matches(value: T): boolean; hasQuery(): boolean; } export interface SingleAutocompleteStateControlledOptions { multiple?: false; toggleable?: boolean; value: T; matchBy: (value: T, query: string) => boolean; onChange?: (value?: T) => void; disabled?: boolean; by?: (a: T, b: T) => boolean; } export interface SingleAutocompleteStateUncontrolledOptions { multiple?: false; toggleable?: boolean; defaultValue: T; matchBy: (value: T, query: string) => boolean; onChange?: (value?: T) => void; disabled?: boolean; by?: (a: T, b: T) => boolean; } export type SingleAutocompleteStateOptions = SingleAutocompleteStateControlledOptions | SingleAutocompleteStateUncontrolledOptions; export declare function createSingleAutocompleteState(options: SingleAutocompleteStateOptions): AutocompleteStateProperties; export interface MultipleAutocompleteStateControlledOptions { multiple: true; toggleable?: boolean; value: T[]; matchBy: (value: T, query: string) => boolean; onChange?: (value: T[]) => void; disabled?: boolean; by?: (a: T, b: T) => boolean; } export interface MultipleAutocompleteStateUncontrolledOptions { multiple: true; toggleable?: boolean; defaultValue: T[]; matchBy: (value: T, query: string) => boolean; onChange?: (value: T[]) => void; disabled?: boolean; by?: (a: T, b: T) => boolean; } export type MultipleAutocompleteStateOptions = MultipleAutocompleteStateControlledOptions | MultipleAutocompleteStateUncontrolledOptions; export declare function createMultipleAutocompleteState(options: MultipleAutocompleteStateOptions): AutocompleteStateProperties; export interface AutocompleteStateRenderProps { children?: JSX.Element | ((state: AutocompleteStateProperties) => JSX.Element); } export interface AutocompleteStateProviderProps extends AutocompleteStateRenderProps { state: AutocompleteStateProperties; } export declare function AutocompleteStateProvider(props: AutocompleteStateProviderProps): JSX.Element; export declare function useAutocompleteState(): AutocompleteStateProperties; export declare function AutocompleteStateChild(props: AutocompleteStateRenderProps): JSX.Element; //# sourceMappingURL=create-autocomplete-state.d.ts.map