import { type Context } from 'egg';
import type { Redis } from 'ioredis';
import type { AuthClient, AuthUrlResult, userResult } from '../common/typing.ts';
interface SSO_USER {
    name: string;
    email: string;
}
/**
 * Use sort set to keep queue in order and keep same value only insert once
 */
export declare class AuthAdapter implements AuthClient {
    readonly redis: Redis;
    readonly user: SSO_USER;
    getAuthUrl(ctx: Context): Promise<AuthUrlResult>;
    ensureCurrentUser(): Promise<userResult | null>;
}
export {};
