import { useRoute } from 'vue-router';
import type { RouteParamValueRaw } from 'vue-router';
export type RouteQueryValueRaw = RouteParamValueRaw | string[];
export type RouteParamsValueRaw = RouteParamValueRaw;
/** 转换函数类型，可以是函数或包含 get 方法的对象 */
export type TransformFunction<V, R> = ((val: V) => R) | {
    get?: (value: V) => R;
};
export interface GetRouteValueOptions<V, R> {
    /** 默认值 */
    defaultValue?: V;
    /** 路由实例，不传则使用 useRoute() */
    route?: ReturnType<typeof useRoute>;
    /** 转换函数，可以是函数或包含 get 方法的对象 */
    transform?: TransformFunction<V, R>;
}
/**
 * 获取路由 query 参数的值（非响应式）
 * @param name - query 参数名称
 * @param options - 配置选项
 * @returns 转换后的 query 值
 */
export declare function getRouteQuery<T extends RouteQueryValueRaw = RouteQueryValueRaw, K = T>(name: string, options?: GetRouteValueOptions<T, K>): K;
/**
 * 获取路由 params 参数的值（非响应式）
 * @param name - params 参数名称
 * @param options - 配置选项
 * @returns 转换后的 params 值
 */
export declare function getRouteParams<T extends RouteParamsValueRaw = RouteParamsValueRaw, K = T>(name: string, options?: GetRouteValueOptions<T, K>): K;
