import { calendar_v3 } from "@googleapis/calendar";
import type { CredentialForCalendarServiceWithEmail } from "@calcom/types/Credential";
import { OAuthManager } from "../../_utils/oauth/OAuthManager";
export declare class CalendarAuth {
    private credential;
    private jwtAuthClient;
    private oAuthClient;
    authManager: OAuthManager;
    private authMechanism;
    constructor(credential: CredentialForCalendarServiceWithEmail);
    private getAuthStrategy;
    private getOAuthClientSingleton;
    private getJwtClientSingleton;
    private refreshOAuthToken;
    private refreshJwtToken;
    private initAuthMechanism;
    /**
     * Returns a Google Calendar client that is authenticated with the user's credentials.
     * If the user is delegated, it will use the delegation credential.
     * If the user is not delegated, it will use the user's OAuth credentials.
     */
    getClient(): Promise<calendar_v3.Calendar>;
}
//# sourceMappingURL=CalendarAuth.d.ts.map