import { type calendar_v3 } from "googleapis";
import type { VisionClawConfig } from "../config/types.js";
/**
 * Wrapper around Google Calendar API.
 * Uses OAuth tokens from onboarding to read/write events on the agent's calendar.
 */
export declare class GoogleCalendarClient {
    private calendar;
    private config;
    constructor(config: VisionClawConfig);
    /**
     * List events between timeMin and timeMax.
     */
    listUpcomingEvents(timeMin: Date, timeMax: Date, maxResults?: number): Promise<calendar_v3.Schema$Event[]>;
    /**
     * Create a new calendar event.
     */
    createEvent(options: {
        summary: string;
        description?: string;
        start: Date;
        end: Date;
        recurrence?: string[];
        attendees?: string[];
        location?: string;
    }): Promise<calendar_v3.Schema$Event>;
    /**
     * Update an existing event.
     */
    updateEvent(eventId: string, updates: Partial<{
        summary: string;
        description: string;
        start: Date;
        end: Date;
        attendees: string[];
        location: string;
    }>): Promise<calendar_v3.Schema$Event>;
    /**
     * Delete an event.
     */
    deleteEvent(eventId: string): Promise<void>;
    /**
     * Clear all events from the primary calendar.
     */
    clearPrimaryCalendar(): Promise<void>;
    /**
     * Find free time slots in a given range.
     */
    findFreeTime(timeMin: Date, timeMax: Date): Promise<{
        start: string;
        end: string;
    }[]>;
}
//# sourceMappingURL=google-calendar.d.ts.map