import { type s } from "bknd/utils";
export type UseSearchOptions<Schema extends s.Schema = s.Schema> = {
    defaultValue?: Partial<s.StaticCoerced<Schema>>;
    beforeEncode?: (search: Partial<s.StaticCoerced<Schema>>) => object;
};
export declare function useSearch<Schema extends s.Schema = s.Schema>(schema: Schema, options?: UseSearchOptions<Schema>): {
    value: Required<s.StaticCoerced<Schema>>;
    set: <Update extends Partial<s.StaticCoerced<Schema>>>(update: Update) => void;
};
