/**
 * SmartLead MCP Server - Smart Delivery Client
 *
 * Handles all Smart Delivery related operations including placement tests,
 * spam tests, reports, and folder management.
 *
 * @author LeadMagic Team
 * @version 1.5.0
 */
import { BaseSmartLeadClient } from '../../client/base.js';
import type { SmartLeadConfig } from '../../types/config.js';
interface Provider {
    provider_id: string;
    provider_name: string;
}
interface ProviderGroup {
    group_id: string;
    group_name: string;
    providers: Provider[];
}
interface RegionProvider {
    region_id: string;
    region_name: string;
    groups: ProviderGroup[];
}
interface SpamTestParams {
    test_name?: string;
    sender_account_ids?: number[];
    email_content?: string;
    subject?: string;
    limit?: number;
    offset?: number;
    status?: string;
    test_type?: string;
}
interface SpamTestDetails {
    spam_test_id: number;
    test_name: string;
    test_type: string;
    status: string;
    created_at: string;
    test_end_date?: string;
    inbox_count: number;
    spam_count: number;
    tab_count: number;
    adjusted_total_email_count: number;
}
interface FolderParams {
    name: string;
    description?: string;
}
interface SmartDeliveryFolder {
    id?: number;
    folder_id?: number;
    name: string;
    description?: string;
    created_at?: string;
}
interface BulkDeleteParams {
    test_ids: number[];
}
interface ReportParams {
    test_id?: number;
    spam_test_id?: number;
    limit?: number;
    offset?: number;
    status?: string;
    date_range?: {
        start_date: string;
        end_date: string;
    };
}
interface SmartDeliveryResponse<T = unknown> {
    success: boolean;
    data: T;
    message?: string;
}
/**
 * Smart Delivery Client
 *
 * Provides methods for managing SmartLead smart delivery including:
 * - Placement tests (manual and automated)
 * - Spam tests and reports
 * - Folder management
 * - Provider and geo-wise reports
 *
 * Note: Smart Delivery uses a different base URL than the main API
 * Base URL: https://smartdelivery.smartlead.ai/api/v1
 */
export declare class SmartDeliveryClient extends BaseSmartLeadClient {
    private smartDeliveryClient;
    constructor(config: SmartLeadConfig);
    /**
     * Get region wise provider IDs
     * GET /spam-test/seed/providers
     */
    getRegionWiseProviderIds(): Promise<RegionProvider[]>;
    /**
     * Create a manual placement test
     * POST /spam-test/manual
     */
    createManualPlacementTest(params: SpamTestParams): Promise<SpamTestDetails>;
    /**
     * Create an automated placement test
     * POST /spam-test/automated
     */
    createAutomatedPlacementTest(params: SpamTestParams): Promise<SpamTestDetails>;
    /**
     * Get spam test details
     * GET /spam-test/{test_id}
     */
    getSpamTestDetails(testId: number): Promise<SpamTestDetails>;
    /**
     * Delete smart delivery tests in bulk
     * POST /spam-test/bulk-delete
     */
    deleteTestsInBulk(params: BulkDeleteParams): Promise<SmartDeliveryResponse>;
    /**
     * Stop an automated smart delivery test
     * PUT /spam-test/{test_id}/stop
     */
    stopAutomatedTest(testId: number): Promise<SmartDeliveryResponse>;
    /**
     * List all tests
     * POST /spam-test/report
     */
    listAllTests(params: ReportParams): Promise<SpamTestDetails[]>;
    /**
     * Get provider wise report
     * POST /spam-test/provider-wise-results
     */
    getProviderWiseReport(params: ReportParams): Promise<unknown>;
    /**
     * Get geo wise report
     * POST /spam-test/geo-wise-report
     */
    getGeoWiseReport(params: ReportParams): Promise<unknown>;
    /**
     * Get sender account wise report
     * GET /spam-test/sender-account-wise-report
     */
    getSenderAccountWiseReport(testId: number): Promise<unknown>;
    /**
     * Get spam filter report
     * GET /spam-test/{test_id}/spam-filter-report
     */
    getSpamFilterReport(testId: number): Promise<unknown>;
    /**
     * Get DKIM details
     * GET /spam-test/{test_id}/dkim-details
     */
    getDkimDetails(testId: number): Promise<unknown>;
    /**
     * Get SPF details
     * GET /spam-test/{test_id}/spf-details
     */
    getSpfDetails(testId: number): Promise<unknown>;
    /**
     * Get rDNS report
     * GET /spam-test/{test_id}/rdns-report
     */
    getRdnsReport(testId: number): Promise<unknown>;
    /**
     * Get sender account list
     * GET /spam-test/{test_id}/sender-account-list
     */
    getSenderAccountList(testId: number): Promise<unknown>;
    /**
     * Get blacklists
     * GET /spam-test/{test_id}/blacklists
     */
    getBlacklists(testId: number): Promise<unknown>;
    /**
     * Get domain blacklist
     * GET /spam-test/{test_id}/domain-blacklist
     */
    getDomainBlacklist(testId: number): Promise<unknown>;
    /**
     * Get spam test email content
     * GET /spam-test/{test_id}/email-content
     */
    getSpamTestEmailContent(testId: number): Promise<unknown>;
    /**
     * Get IP blacklist count
     * GET /spam-test/{test_id}/ip-blacklist-count
     */
    getIpBlacklistCount(testId: number): Promise<unknown>;
    /**
     * Get email reply headers
     * GET /spam-test/{test_id}/email-headers
     */
    getEmailReplyHeaders(testId: number): Promise<unknown>;
    /**
     * Get schedule history for automated tests
     * GET /spam-test/{test_id}/schedule-history
     */
    getScheduleHistory(testId: number): Promise<unknown>;
    /**
     * Get IP details
     * GET /spam-test/{test_id}/ip-details
     */
    getIpDetails(testId: number): Promise<unknown>;
    /**
     * Get mailbox summary
     * GET /spam-test/{test_id}/mailbox-summary
     */
    getMailboxSummary(testId: number): Promise<unknown>;
    /**
     * Get mailbox count
     * GET /spam-test/{test_id}/mailbox-count
     */
    getMailboxCount(testId: number): Promise<unknown>;
    /**
     * Get all folders
     * GET /spam-test/folder
     */
    getAllFolders(): Promise<SmartDeliveryFolder[]>;
    /**
     * Create folder
     * POST /spam-test/folder
     */
    createFolder(params: FolderParams): Promise<SmartDeliveryFolder>;
    /**
     * Get folder by ID
     * GET /spam-test/folder/{folder_id}
     */
    getFolderById(folderId: number): Promise<SmartDeliveryFolder>;
    /**
     * Delete folder
     * DELETE /spam-test/folder/{folder_id}
     */
    deleteFolder(folderId: number): Promise<SmartDeliveryResponse>;
}
export {};
//# sourceMappingURL=client.d.ts.map