import { UserContext, UserContextService } from '@mesalvo/ts-auth';
export interface UserIdentity {
    id: string | number;
    fullName?: string;
    avatar?: string;
    [key: string]: unknown;
}
export type AuthRedirectResult = {
    redirectTo?: string | false;
    logoutOnFailure?: boolean;
};
export type AuthProvider = {
    login: () => Promise<UserContext>;
    logout: () => Promise<void>;
    checkAuth: () => Promise<void>;
    checkError: ({ status }: {
        status: number;
    }) => Promise<void>;
    getIdentity?: () => Promise<UserIdentity>;
    getPermissions: () => Promise<unknown>;
};
export declare const convertUserContextToIdentity: (userContext: UserContext) => UserIdentity;
export declare const authProvider: (userContextService: UserContextService) => AuthProvider;
//# sourceMappingURL=authProvider.d.ts.map