import { BaseApi } from './base-api';
import { IysConsent } from '../models/iys-consent';
import { IysCampaign } from '../models/iys-campaign';
import { ProxyConfig } from '../models/proxy-config';
import { IysConsentReportItem } from '../models/iys-consent-report';
/**
 * IysApi class provides methods for IYS integration.
 */
export declare class IysApi extends BaseApi {
    /**
     * Creates an instance of IysApi.
     * @param username - The API username.
     * @param password - The API password.
     * @param proxyConfig - Optional proxy configuration.
     */
    constructor(username: string, password: string, proxyConfig?: ProxyConfig);
    /**
     * Sends IYS consents.
     * @param sourceAddr - The sender ID.
     * @param consents - Array of IysConsent objects.
     * @returns Promise resolving to a campaign ID.
     * @throws ErrorResponse if the API call fails.
     */
    sendIysConsents(sourceAddr: string, consents: IysConsent[]): Promise<number>;
    /**
     * Fetches IYS campaigns.
     * @param offset - Pagination offset.
     * @param limit - Number of records to retrieve.
     * @param source - Filter by source (e.g., 'iys', 'api').
     * @returns Promise resolving to an object containing total and records.
     * @throws ErrorResponse if the API call fails.
     */
    getIysCampaigns(offset?: number, limit?: number, source?: string): Promise<{
        total: number;
        records: IysCampaign[];
    }>;
    /**
     * Fetches IYS consent reports for a campaign.
     * @param campaignId - The IYS campaign ID.
     * @param offset - Pagination offset.
     * @param limit - Number of records to retrieve.
     * @returns Promise resolving to consent report data.
     * @throws ErrorResponse if the API call fails.
     */
    getIysConsentReports(campaignId: number, offset?: number, limit?: number): Promise<{
        total: number;
        status: string;
        source_addr: string;
        records?: IysConsentReportItem[];
    }>;
}
