import type { RawAuth } from '../../../plugins/auth-plugin.js';
import type { AuthContext } from '../../../shared/types/auth.js';
import type { Environment } from '../../../shared/types/index.js';
import { DBProvider } from '../../app-providers/db.provider.js';
type QueryableDB = Pick<DBProvider, 'query'>;
export declare function handleDevBypassAuth(db: QueryableDB, userId: string): Promise<AuthContext | null>;
export declare class AuthContextProvider {
    private env;
    private rawAuth;
    private db;
    private cachedContext;
    private handlingAuth;
    constructor(env: Environment, rawAuth: RawAuth, db: DBProvider);
    getJwtIdentity(): Promise<{
        auth0UserId: string;
        email: string | null;
        emailVerified: boolean;
    } | null>;
    getAuthContext(): Promise<AuthContext | null>;
    private handleDevBypassAuth;
    private handleApiKeyAuth;
    private resolveApiKeyContext;
    private handleJwtAuth;
    private mapAuth0UserToLocal;
}
export {};
