import type { DefaultStoreName } from "./types"; export type Refine = (value: unknown) => T | undefined; export type LocationStateDefinition = { name: string; defaultValue: T; storeName: StoreName; refine?: Refine; }; type Updater = (prev: T) => T; type ValueOrUpdater = T | Updater; type SetState = (valueOrUpdater: ValueOrUpdater) => void; type GetState = () => T; type GetLocationKey = () => string | undefined; export declare const getHooksWith: () => { useLocationState: (definition: LocationStateDefinition) => [T, SetState]; useLocationStateValue: (definition: LocationStateDefinition) => T; useLocationGetState: (definition: LocationStateDefinition) => GetState; useLocationSetState: (definition: LocationStateDefinition) => SetState; }; export declare const useLocationState: (definition: LocationStateDefinition) => [T, SetState], useLocationStateValue: (definition: LocationStateDefinition) => T, useLocationGetState: (definition: LocationStateDefinition) => GetState, useLocationSetState: (definition: LocationStateDefinition) => SetState; export declare const useLocationKey: ({ serverDefault, clientDefault, }?: { /** @deprecated Arguments will be removed in the future. */ serverDefault?: string; /** @deprecated Arguments will be removed in the future. */ clientDefault?: string; } | undefined) => string | undefined; export declare const useLocationGetKey: () => GetLocationKey; export {};