import { ApiResponse, StatTags } from '../../network/clients/types';
import { BaseSDK } from '../common/base-sdk';
import { AuthObject, AudienceSegmentBody, AudienceSegmentData, CriteoConfig } from './types';
/**
 * CriteoAudience SDK for managing audience segments in Criteo
 * @class
 */
export default class CriteoAudience extends BaseSDK<AuthObject, CriteoConfig> {
    validateAuthObject(authObject: AuthObject): void;
    protected buildRequestUrl(endpoint: string): string;
    protected getHeaders(): Record<string, string>;
    shouldRetryOnError(response: ApiResponse<unknown>): boolean;
    protected refreshToken(): Promise<void>;
    /**
     * Creates a new audience segment in Criteo
     * @param {AudienceSegmentBody} audienceSegmentBody - Audience segment data
     * @param {StatTags} statTags - Optional stat tags for metrics and logging
     * @returns {Promise<AudienceSegmentData>} Created audience segment data
     * @throws {Error} If audience segment creation fails
     */
    createAudienceSegment(audienceSegmentBody: AudienceSegmentBody, statTags?: StatTags): Promise<AudienceSegmentData>;
}
//# sourceMappingURL=criteoAudience.d.ts.map