import { Logger } from '../services/logger.js';
export interface GoogleCalendarClientConfig {
    gOOGLEOAUTHCREDENTIALS?: string;
    oauth?: any;
    timeout?: number;
    rateLimit?: number;
    authToken?: string;
    logger?: Logger;
    oauthClient?: any;
}
export declare class GoogleCalendarClient {
    private httpClient;
    private config;
    private sessionId;
    private logger;
    private oauthClient;
    constructor(config: GoogleCalendarClientConfig);
    private setupRateLimit;
    private resolveBaseUrl;
    private getAuthHeaders;
    /**
     * Initialize the client (for OAuth clients that need initialization)
     */
    initialize(): Promise<void>;
    /**
     * Get the session ID for this client instance
     */
    getSessionId(): string;
    /**
     * Make an authenticated request with proper headers
     */
    private makeAuthenticatedRequest;
    private buildPath;
    listCalendars(params: any): Promise<any>;
    getCalendar(params: any): Promise<any>;
    createCalendar(params: any): Promise<any>;
    updateCalendar(params: any): Promise<any>;
    deleteCalendar(params: any): Promise<any>;
    listEvents(params: any): Promise<any>;
    getEvent(params: any): Promise<any>;
    createEvent(params: any): Promise<any>;
    updateEvent(params: any): Promise<any>;
    deleteEvent(params: any): Promise<any>;
    quickAdd(params: any): Promise<any>;
    getFreeBusy(params: any): Promise<any>;
    listAcl(params: any): Promise<any>;
    createAcl(params: any): Promise<any>;
}
//# sourceMappingURL=google-calendar-client.d.ts.map