import type { EmailService } from "../services/email/index.js";
import type { WsControlPlane } from "../ws.js";
import type { ToolDefinition } from "./contracts.js";
interface ListInput {
    accountId?: string;
    folder?: string;
    query?: string;
    limit?: number;
}
export declare function createEmailListTool(email: EmailService): ToolDefinition<ListInput>;
interface ReadInput {
    id: string;
    accountId?: string;
}
export declare function createEmailReadTool(email: EmailService): ToolDefinition<ReadInput>;
interface SendInput {
    to?: string;
    subject?: string;
    body: string;
    cc?: string;
    bcc?: string;
    replyToMessageId?: string;
    html?: boolean;
    accountId?: string;
}
export declare function createEmailSendTool(email: EmailService, ws?: WsControlPlane): ToolDefinition<SendInput>;
interface TagInput {
    id: string;
    add?: string[];
    remove?: string[];
    accountId?: string;
}
export declare function createEmailTagTool(email: EmailService, ws?: WsControlPlane): ToolDefinition<TagInput>;
interface DeleteInput {
    id: string;
    accountId?: string;
}
export declare function createEmailDeleteTool(email: EmailService, ws?: WsControlPlane): ToolDefinition<DeleteInput>;
interface ViewInput {
    action: "navigate" | "open" | "compose" | "refresh";
    accountId?: string;
    folder?: string;
    messageId?: string;
    to?: string;
    subject?: string;
    body?: string;
    replyToMessageId?: string;
}
export declare function createEmailViewTool(ws: WsControlPlane): ToolDefinition<ViewInput>;
export declare function createEmailTools(email: EmailService, ws?: WsControlPlane): ToolDefinition[];
export {};
//# sourceMappingURL=email-tools.d.ts.map