/// <reference types="react" />
import type { LayoutSettings, PageBreadcrumbItemProps, PageHandle, PageMeta, LayoutFeatures } from "./types";
/**
 * 基于 react-storage 的 useStorage hook
 */
export declare function useStorage<T>(key: string, defaultValue: T, options?: {
    storage?: 'local' | 'session';
}): [T, (value: T) => void, () => void];
import type { AuthActions, AuthState, UseUserOptions } from './types';
/**
 * 用户状态管理 Hook
 */
export declare function useUser<TUser = any, TCredentials = any>(options?: UseUserOptions<TUser, TCredentials>): AuthState<TUser> & AuthActions<TUser, TCredentials>;
/**
 * 只读的用户状态 Hook
 */
export declare function useUserState<TUser = any>(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;
}): PageBreadcrumbItemProps[];
/**
 * 页面元数据 Hook（支持国际化）
 */
export declare function usePageMeta<Keys extends string = string>(handle?: PageHandle<Keys>, options?: {
    enableI18n?: boolean;
}): PageMeta<Keys> | undefined;
/**
 * 布局设置 Hook
 */
export declare function useLayoutSettings<Keys extends string = string>(handle?: PageHandle<Keys>): LayoutSettings | undefined;
/**
 * VGrove 布局设置 Hook
 * 提供更便捷的布局配置访问和默认值处理
 */
export declare function useVGroveLayoutSettings<Keys extends string = string>(handle?: PageHandle<Keys>, defaults?: Partial<LayoutSettings>): LayoutSettings;
/**
 * 获取布局配置的特定部分
 */
export declare function useLayoutConfig<Keys extends string = string>(section: keyof LayoutSettings, handle?: PageHandle<Keys>): any;
/**
 * 检查布局功能是否启用
 */
export declare function useLayoutFeatures<Keys extends string = string>(handle?: PageHandle<Keys>): LayoutFeatures;
/**
 * 页面配置 Hook（支持国际化）
 */
export declare function usePageConfig<Keys extends string = string>(handle?: PageHandle<Keys>, options?: {
    enableI18n?: boolean;
}): {
    breadcrumbs: PageBreadcrumbItemProps[];
    meta: PageMeta<Keys> | undefined;
    layoutSettings: LayoutSettings | undefined;
    handle: PageHandle<Keys> | undefined;
};
/**
 * 完整的页面配置 Hook（包含所有元数据，支持国际化）
 */
export declare function useI18nPageConfig<Keys extends string = string>(handle?: PageHandle<Keys>): {
    meta: PageMeta<Keys> | undefined;
    pageMeta: {
        title: import("react").ReactNode;
        description: import("react").ReactNode;
    } | undefined;
    breadcrumbs: PageBreadcrumbItemProps[];
    layoutSettings: LayoutSettings | undefined;
    handle: PageHandle<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