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 redirect 重定向路径，当为空字符串时不进行重定向，默认：空（如果不存在原始路径时使用）
 */
export declare const useSaveAuthentication: <Datasheet>(redirect?: string) => ((datasheet: AccessDatasheet<AuthenticationDatasheet<Datasheet>>) => void);
/**
 * 保存授权钩子
 * @param redirect 重定向路径，当为空字符串时不进行重定向，默认：空（如果不存在原始路径时使用）
 */
export declare const useSaveAuthorization: <Datasheet>(redirect?: string) => ((datasheet: AccessDatasheet<AuthorizationDatasheet<Datasheet>>) => void);
