/** * Reactive route composable. * @module bquery/router */ import { type ReadonlySignal } from '../reactive/index'; import type { Route, RouteDefinition } from './types'; /** * Return type for {@link useRoute}. * Provides reactive access to individual route properties. */ export type UseRouteReturn = { /** Full reactive route object */ route: ReadonlySignal; /** Reactive current path */ path: ReadonlySignal; /** Reactive route params */ params: ReadonlySignal>; /** Reactive query params */ query: ReadonlySignal>; /** Reactive hash fragment (without #) */ hash: ReadonlySignal; /** Reactive matched route definition */ matched: ReadonlySignal; }; /** * Returns reactive access to the current route, params, query, and hash. * * Each property is a readonly computed signal that updates automatically * when the route changes. This is useful for fine-grained reactivity * where you only need to subscribe to specific route parts. * * @returns An object with reactive route properties * * @example * ```ts * import { useRoute } from '@bquery/bquery/router'; * import { effect } from '@bquery/bquery/reactive'; * * const { path, params, query, hash } = useRoute(); * * effect(() => { * console.log('Path:', path.value); * console.log('Params:', params.value); * console.log('Query:', query.value); * console.log('Hash:', hash.value); * }); * ``` */ export declare const useRoute: () => UseRouteReturn; //# sourceMappingURL=use-route.d.ts.map