export * from './service.ts';
export * from './types.ts';
import { type EmailAddress, type EmailDestination, type EmailConnectionConfig, type EmailInbound, type EmailOutbound, type EmailSendParams, type EmailActivityParams, type EmailActivityResult } from './service.ts';
import { type Logger } from '@agentuity/client';
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