import { type Readable } from 'svelte/store'; type OnInputHandler = (event: Event & { currentTarget: EventTarget & HTMLInputElement; }) => void; type MaybeK = T extends Record ? keyof T : undefined; type Value, R extends boolean> = R extends true ? T : K extends keyof T ? T[K] : T; type UseSelectPayload, S extends M extends true ? Value[] : Value> = { items?: T[]; multiple?: M; itemText?: K; itemValue?: K; deselectOnClick?: M extends false ? boolean : undefined; returnObject?: T extends Record ? R : undefined; initialSelected?: S; onChange?: () => void; onFilter?: (item: T, inputValue: string, itemText: K) => boolean; }; export declare const useSelect: , S extends M extends true ? Value[] : Value>(payload: UseSelectPayload) => { items: import("svelte/store").Writable; selected: Readable; setSelected: (value: S) => void; isSelected: (item: Value, $selected?: S) => boolean; onClickItem: (item: Value) => void; inputValue: import("svelte/store").Writable; setInputValue: (value: string) => void; onInputValue: import("../..").PromisifyFn; }; export {};