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