import { A as ReactiveOptions, M as StateMode, O as Missing, c as UnwrapOption, i as InferInputWritable, k as ReactiveFields, l as WithParser, r as InferInputValue, s as ParserInput } from "../types-DinLZp4i.mjs";
import { i as RouteStateSource, n as ResolvedRouteStateOptions, r as RouteStateOptions, t as HistoryMode } from "../types-CJrEAHy6.mjs";
import { Ref } from "vue";
//#region src/router/use-route-hash.d.ts
interface RouteHashOptions {
parser?: ParserInput;
missing?: unknown;
history?: HistoryMode;
clearOnDefault?: boolean;
mode?: StateMode;
}
type UseRouteHashOptions
= ReactiveOptions, 'missing'>;
type RouteHashConfig = ReactiveFields;
export declare function useRouteHash(options?: UseRouteHashOptions
): Ref>, InferInputWritable>>;
//#endregion
//#region src/router/use-route-states.d.ts
type RouteStateConfig
= ReactiveFields, 'key' | 'missing'>;
interface BatchOptions {
history?: HistoryMode;
}
type ConfigMissing = 'missing' extends keyof TConfig ? UnwrapOption : Missing;
type Refs = { [TOption in TOptions[number] as TOption['key']]: Ref>, InferInputWritable>>; };
type StatePatch = Partial<{ [TOption in TOptions[number] as TOption['key']]: InferInputWritable>; }>;
type StateSnapshot = { [TOption in TOptions[number] as TOption['key']]: InferInputValue>; };
interface UseRouteStatesApi {
set: (patch: StatePatch, options?: BatchOptions) => void;
reset: (options?: BatchOptions) => void;
toObject: () => StateSnapshot;
}
type UseRouteStatesReturn = Refs & UseRouteStatesApi;
export declare function useRouteStates(configs: TOptions): UseRouteStatesReturn;
//#endregion
//#region src/router/options.d.ts
type Exact = T & Record, never>;
export declare function routeStateOptions(options: Exact): T;
export declare function routeStateOptions(options: () => Exact): () => T;
export declare function routeHashOptions(options: Exact): T;
export declare function routeHashOptions(options: () => Exact): () => T;
//#endregion
//#region src/router/use-route-state.d.ts
type UseRouteStateOptions = ReactiveOptions, 'missing'>;
export declare function useRouteState(options: UseRouteStateOptions
): Ref>, InferInputWritable>>;
//#endregion
export type { BatchOptions, HistoryMode, ResolvedRouteStateOptions, RouteHashConfig, RouteHashOptions, RouteStateConfig, RouteStateOptions, RouteStateSource, StateMode, UseRouteHashOptions, UseRouteStateOptions, UseRouteStatesApi, UseRouteStatesReturn };