export { EmailStorageService, EmailService, type EmailAddress, type EmailDestination, type EmailConnectionConfig, type EmailInbound, type EmailOutbound, type EmailAttachment, type EmailStoredAttachment, type EmailSendParams, type EmailActivityParams, type EmailActivityResult, type EmailActivityDataPoint, EmailAddressSchema, EmailDestinationSchema, EmailConnectionConfigSchema, EmailInboundSchema, EmailOutboundSchema, EmailAttachmentSchema, EmailStoredAttachmentSchema, EmailSendParamsSchema, EmailActivityParamsSchema, EmailActivityResultSchema, EmailActivityDataPointSchema, } from '@agentuity/core/email';
import { type EmailSendParams, type EmailOutbound, type EmailAddress, type EmailDestination, type EmailConnectionConfig, type EmailInbound, type EmailActivityResult, type EmailActivityParams } from '@agentuity/core/email';
import { type Logger } from '@agentuity/server';
import { z } from 'zod';
export declare const EmailClientOptionsSchema: z.ZodObject<{
    apiKey: z.ZodOptional<z.ZodString>;
    url: z.ZodOptional<z.ZodString>;
    orgId: z.ZodOptional<z.ZodString>;
    logger: z.ZodOptional<z.ZodCustom<Logger, Logger>>;
}, z.core.$strip>;
export type EmailClientOptions = z.infer<typeof EmailClientOptionsSchema>;
export declare class EmailClient {
    #private;
    constructor(options?: EmailClientOptions);
    createAddress(localPart: string): Promise<EmailAddress>;
    listAddresses(): Promise<EmailAddress[]>;
    getAddress(id: string): Promise<EmailAddress | null>;
    getConnectionConfig(id: string): Promise<EmailConnectionConfig | null>;
    deleteAddress(id: string): Promise<void>;
    createDestination(addressId: string, type: string, config: Record<string, unknown>): Promise<EmailDestination>;
    listDestinations(addressId: string): Promise<EmailDestination[]>;
    deleteDestination(addressId: string, destinationId: string): Promise<void>;
    send(params: EmailSendParams): Promise<EmailOutbound>;
    listInbound(addressId?: string): Promise<EmailInbound[]>;
    getInbound(id: string): Promise<EmailInbound | null>;
    deleteInbound(id: string): Promise<void>;
    listOutbound(addressId?: string): Promise<EmailOutbound[]>;
    getOutbound(id: string): Promise<EmailOutbound | null>;
    deleteOutbound(id: string): Promise<void>;
    getActivity(params?: EmailActivityParams): Promise<EmailActivityResult>;
}
//# sourceMappingURL=index.d.ts.map