/**
 * Antigravity OAuth Service
 * Uses standard OAuth2 Authorization Code flow (similar to Gemini)
 */
export declare class AntigravityService {
    private clientId;
    private clientSecret;
    private authorizeUrl;
    private tokenUrl;
    private userInfoUrl;
    private scopes;
    private loadCodeAssistEndpoint;
    private onboardUserEndpoint;
    private loadCodeAssistUserAgent;
    private loadCodeAssistApiClient;
    private loadCodeAssistClientMetadata;
    constructor(clientId: string, clientSecret: string, authorizeUrl: string, tokenUrl: string, userInfoUrl: string, scopes: string[], loadCodeAssistEndpoint: string, onboardUserEndpoint: string, loadCodeAssistUserAgent: string, loadCodeAssistApiClient: string, loadCodeAssistClientMetadata: string);
    /**
     * Build Antigravity authorization URL
     */
    buildAuthUrl(redirectUri: string, state: string): string;
    /**
     * Exchange authorization code for tokens
     */
    exchangeCode(code: string, redirectUri: string): Promise<any>;
    /**
     * Get user info from Google
     */
    getUserInfo(accessToken: string): Promise<any>;
    /**
     * Get common headers for Antigravity API calls
     */
    getApiHeaders(accessToken: string): Record<string, string>;
    /**
     * Get metadata object for loadCodeAssist / onboardUser API calls.
     * Uses numeric enum values matching Antigravity binary ClientMetadata.
     */
    getMetadata(): any;
    /**
     * Fetch Project ID and Tier from loadCodeAssist API
     */
    loadCodeAssist(accessToken: string): Promise<{
        projectId: string;
        tierId: string;
        raw: any;
    }>;
    /**
     * Onboard user to enable Gemini Code Assist for the project
     */
    onboardUser(accessToken: string, projectId: string, tierId: string): Promise<any>;
    /**
     * Complete onboarding flow with retry
     */
    completeOnboarding(accessToken: string, projectId: string, tierId: string, maxRetries?: number): Promise<{
        success: boolean;
        projectId: string;
    }>;
    /**
     * Fetch Project ID from loadCodeAssist API (legacy method for compatibility)
     */
    fetchProjectId(accessToken: string): Promise<string>;
    /**
     * Save Antigravity tokens (to be implemented by account manager)
     */
    saveTokens(tokens: any, userInfo: any, projectId: string): Promise<any>;
    /**
     * Complete Antigravity OAuth flow
     */
    connect(): Promise<boolean>;
}
//# sourceMappingURL=antigravity.d.ts.map