import type { VisionClawConfig } from "../config/types.js";
import type { MessageAttachment } from "../channels/interface.js";
export interface GmailListEmailsOptions {
    /** Gmail label to list from (default: INBOX) */
    label?: string;
    /** Only include unread messages (default: false) */
    unreadOnly?: boolean;
    /** Gmail search query (e.g. 'from:foo subject:bar newer_than:7d') */
    query?: string;
    /** Max results to return (default: 10) */
    maxResults?: number;
}
export interface GmailEmailSummary {
    id: string;
    threadId?: string;
    from?: string;
    to?: string;
    subject?: string;
    date?: string;
    snippet?: string;
    labels?: string[];
}
export interface GmailEmailDetail extends GmailEmailSummary {
    bodyText?: string;
}
/**
 * Gmail email client wrapper (separate from the Gmail channel adapter).
 * Provides programmatic email operations for agent tools.
 */
export declare class GmailEmailClient {
    private gmail;
    private config;
    constructor(config: VisionClawConfig);
    listEmails(options?: GmailListEmailsOptions): Promise<GmailEmailSummary[]>;
    getEmail(messageId: string): Promise<GmailEmailDetail>;
    markRead(messageId: string): Promise<void>;
    markUnread(messageId: string): Promise<void>;
    archive(messageId: string): Promise<void>;
    sendEmail(options: {
        to: string;
        cc?: string;
        bcc?: string;
        subject: string;
        body: string;
        htmlBody?: string;
        attachments?: MessageAttachment[];
    }): Promise<{
        id?: string;
        threadId?: string;
    }>;
    reply(options: {
        messageId: string;
        to?: string;
        cc?: string;
        bcc?: string;
        body: string;
        htmlBody?: string;
        attachments?: MessageAttachment[];
    }): Promise<{
        id?: string;
        threadId?: string;
    }>;
}
//# sourceMappingURL=gmail-email.d.ts.map