import type { BreadcrumbItemProps, PageHandle, PageMeta } from "./types";
/**
 * 存储配置选项
 */
export interface UseStorageOptions {
    /** 存储类型 */
    storage?: 'local' | 'session';
    /** 过期时间（毫秒），0 表示永不过期 */
    maxAge?: number;
    /** 是否自动清理过期数据 */
    autoCleanup?: boolean;
    /** 清理间隔（毫秒），默认 5 分钟 */
    cleanupInterval?: number;
}
/**
 * 基于 react-storage 的 useStorage hook - 支持过期时间
 *
 * @param key 存储键
 * @param defaultValue 默认值
 * @param options 配置选项
 * @returns [value, setValue, removeValue, setWithExpiry, isExpired, cleanup]
 */
export declare function useStorage<T>(key: string, defaultValue: T, options?: UseStorageOptions): [
    T,
    (value: T) => void,
    () => void,
    (value: T, maxAge?: number) => void,
    () => boolean,
    () => void
];
import type { AuthActions, AuthState, UseUserOptions, BaseUser } from './types';
/**
 * 用户状态管理 Hook
 */
export declare function useUser<TUser extends BaseUser = BaseUser, TCredentials = unknown>(options?: UseUserOptions<TUser, TCredentials>): AuthState<TUser> & AuthActions<TUser, TCredentials>;
/**
 * 只读的用户状态 Hook
 */
export declare function useUserState<TUser extends BaseUser = BaseUser>(storagePrefix?: string, useSessionStorage?: boolean): {
    user: TUser | null;
    token: string | null;
    refreshToken: string | null;
    isAuthenticated: boolean;
};
/**
 * Token管理 Hook
 */
export declare function useAuthToken(storagePrefix?: string, useSessionStorage?: boolean): {
    token: string | null;
    refreshToken: string | null;
    setToken: (newToken: string) => void;
    setRefreshToken: (newRefreshToken: string) => void;
    clearToken: () => void;
    clearRefreshToken: () => void;
    clearAllTokens: () => void;
    hasToken: boolean;
    hasRefreshToken: boolean;
};
/**
 * 面包屑 Hook（支持国际化和路由匹配）
 */
export declare function useBreadcrumbs<Keys extends string = string>(handle?: PageHandle<Keys>, options?: {
    enableI18n?: boolean;
    includeMatches?: boolean;
}): BreadcrumbItemProps[];
/**
 * 页面元数据 Hook（支持国际化）
 */
export declare function usePageMeta<Keys extends string = string>(handle?: PageHandle<Keys>, options?: {
    enableI18n?: boolean;
}): PageMeta<Keys> | undefined;
/**
 * 使用动态页面标题 Hook
 */
export declare function useDocumentTitle<Keys extends string = string>(handle?: PageHandle<Keys>, suffix?: string, options?: {
    enableI18n?: boolean;
}): () => void;
/**
 * 获取页面handle（支持继承）
 */
export declare function useHandle<Keys extends string = string>(): PageHandle<Keys>;
//# sourceMappingURL=hooks.d.ts.map