import type { AccessAuthentication, AccessAuthorization, AccessDatasheet, AuthenticationDatasheet, AuthorizationDatasheet } from '../access';
/**
 * 取得认证钩子
 */
export declare const useObtainAuthentication: () => (() => AccessAuthentication | undefined);
/**
 * 取得授权钩子
 */
export declare const useObtainAuthorization: () => (() => AccessAuthorization | undefined);
/**
 * 删除认证钩子
 */
export declare const useDeleteAuthentication: () => (() => void);
/**
 * 删除授权钩子
 */
export declare const useDeleteAuthorization: () => (() => void);
/**
 * 保存认证钩子
 * @param navigate 是否导航
 * @param redirect 重定向路径（如果不存在原始路径时使用）
 */
export declare const useSaveAuthentication: <Datasheet>(navigate?: boolean, redirect?: string) => ((datasheet: AccessDatasheet<AuthenticationDatasheet<Datasheet>>) => void);
/**
 * 保存授权钩子
 * @param navigate 是否导航
 * @param redirect 重定向路径（如果不存在原始路径时使用）
 */
export declare const useSaveAuthorization: <Datasheet>(navigate?: boolean, redirect?: string) => ((datasheet: AccessDatasheet<AuthorizationDatasheet<Datasheet>>) => void);
