import { UserPublic } from '../models/userModel.js';
interface HuggingFaceProfile {
    id: string;
    name: string;
    fullname: string;
    email?: string;
    avatarUrl?: string;
    isPro?: boolean;
    orgs?: Array<{
        name: string;
        fullname: string;
        isEnterprise: boolean;
    }>;
}
export declare class HuggingFaceOAuthService {
    constructor();
    private get clientId();
    private get clientSecret();
    private get callbackUrl();
    /**
     * Check if Hugging Face OAuth is properly configured
     */
    isConfigured(): boolean;
    /**
     * Generate the authorization URL for Hugging Face OAuth
     */
    getAuthUrl(): string;
    /**
     * Exchange authorization code for access token
     */
    exchangeCodeForToken(code: string): Promise<string | null>;
    /**
     * Get user profile from Hugging Face API
     */
    getUserProfile(accessToken: string): Promise<HuggingFaceProfile | null>;
    /**
     * Process Hugging Face user and create/update local user
     */
    processUser(profile: HuggingFaceProfile): Promise<UserPublic | null>;
}
export declare const huggingFaceOAuthService: HuggingFaceOAuthService;
export {};
//# sourceMappingURL=simpleHuggingFaceOAuth.d.ts.map