import { type EmailFilesResult, type EmailEventType } from './emailFiles.js'; export type EmailCallApi = (input: { path: string; type: 'query' | 'mutation'; data?: unknown; token?: string | null; }) => Promise; type EmailCommandScope = { callApi: EmailCallApi; token: string; workspaceId: string; projectId: string; sourceDir: string; }; export type EmailSendStatus = { id: string; status: 'queued' | 'sent' | 'failed' | 'unknown'; terminalReason?: string | null; createdAt?: string; updatedAt?: string; sentAt?: string | null; failedAt?: string | null; }; type EmailSendFetch = typeof globalThis.fetch; export declare const parseEmailVariablesJson: (value: string) => Record; export declare function executeEmailSend(input: { apiUrl: string; privateToken: string; template: string; to: string; variables: Record; idempotencyKey?: string; wait: boolean; timeoutMs: number; pollIntervalMs: number; }, dependencies?: { fetchImpl?: EmailSendFetch; sleep?: (durationMs: number) => Promise; now?: () => number; }): Promise; export declare function executeEmailUpdateVariables(input: { apiUrl: string; privateToken: string; deliveryId: string; variables: Record; }, dependencies?: { fetchImpl?: EmailSendFetch; }): Promise>; export declare function executeEmailSequenceCancel(input: { apiUrl: string; privateToken: string; sourceDir: string; slug: string; funnelEndUserId: string; reason: string; }, dependencies?: { fetchImpl?: EmailSendFetch; }): Promise<{ sequenceId: string; funnelEndUserId: string; cancelled: number; }>; export declare function executeEmailPull(scope: EmailCommandScope): Promise<{ templates: number; sequences: number; }>; export declare const executeEmailValidate: (input: { sourceDir: string; }) => Promise; export declare function executeEmailPush(scope: EmailCommandScope): Promise<{ templates: number; sequences: number; }>; export declare function executeEmailSequenceAddStep(input: EmailCommandScope & { slug: string; key: string; templateSlug?: string; subject?: string; body?: string; delaySeconds: number; personalizationEnabled?: boolean; }): Promise; export declare function executeEmailSequenceCreate(input: EmailCommandScope & { slug: string; name: string; triggerEventType: EmailEventType; funnelId: string | null; firstStepKey: string; templateSlug: string; delaySeconds: number; personalizationEnabled?: boolean; }): Promise; export declare function executeEmailSequenceSetActive(input: EmailCommandScope & { slug: string; active: boolean; }): Promise; export declare function executeEmailTemplatePublish(scope: EmailCommandScope & { slug: string; }): Promise; export declare function executeEmailSequencePublish(scope: EmailCommandScope & { slug: string; }): Promise; export {};