import { Features, RequestClient, StatsContext } from '@segment/actions-core';
import { Payload } from './addToAudContactInfo/generated-types';
import { Payload as DeviceIdPayload } from './addToAudMobileDeviceId/generated-types';
export declare const API_VERSION = "v4";
export declare const CANARY_API_VERSION = "v4";
export declare const FLAGON_NAME = "first-party-dv360-canary-version";
export declare function getApiVersion(features?: Features, statsContext?: StatsContext): string;
interface createAudienceRequestParams {
    advertiserId: string;
    audienceName: string;
    description?: string;
    membershipDurationDays: string;
    audienceType: string;
    appId?: string;
    token?: string;
    features?: Features;
    statsContext?: StatsContext;
}
interface getAudienceParams {
    advertiserId: string;
    audienceId: string;
    token?: string;
    features?: Features;
    statsContext?: StatsContext;
}
interface DV360editCustomerMatchResponse {
    firstPartyAndPartnerAudienceId?: string;
    error: [
        {
            code: string;
            message: string;
            status: string;
        }
    ];
}
export declare const createAudienceRequest: (request: RequestClient, params: createAudienceRequestParams) => Promise<Response>;
export declare const getAudienceRequest: (request: RequestClient, params: getAudienceParams) => Promise<Response>;
export declare function editDeviceMobileIds(request: RequestClient, payloads: DeviceIdPayload[], operation: 'add' | 'remove', statsContext?: StatsContext, features?: Features): Promise<DV360editCustomerMatchResponse>;
export declare function editContactInfo(request: RequestClient, payloads: Payload[], operation: 'add' | 'remove', statsContext?: StatsContext, features?: Features): Promise<DV360editCustomerMatchResponse | undefined>;
export {};
