/**
 * useAuth Hook
 * Manages authentication state, tokens, and user sessions
 */
interface User {
    id: string;
    email: string;
    name: string;
    roles: string[];
    permissions: string[];
}
interface LoginCredentials {
    email: string;
    password: string;
}
interface AuthResponse {
    user: User;
    token: string;
    refreshToken: string;
}
export declare const useAuth: () => {
    login: (credentials: LoginCredentials) => Promise<AuthResponse>;
    logout: () => Promise<void>;
    getToken: () => Promise<string | null>;
    checkSession: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<AuthResponse, Error>>;
    user: User | null;
    isAuthenticated: boolean;
    isLoading: boolean;
};
export default useAuth;
//# sourceMappingURL=useAuth.d.ts.map