import { RequestClient, ModifiedResponse } from '@segment/actions-core';
import { SubscriptionMetadata } from '@segment/actions-core/destination-kit';
import { Settings } from './generated-types';
import { Payload } from './syncAudience/generated-types';
import { ExecuteInput } from '@segment/actions-core';
export interface DROP_ENDPOINT_API_RESPONSE {
    ReferenceId: string;
    Url: string;
}
export interface Segments {
    CrmDataId: string;
    SegmentName: string;
    Region: string;
    FirstPartyDataId: number;
}
export interface GET_CRMS_API_RESPONSE {
    Segments: [
        {
            CrmDataId: string;
            SegmentName: string;
            Region: string;
            FirstPartyDataId: number;
        }
    ];
    PagingToken: string;
}
export interface CREATE_API_RESPONSE {
    CrmDataId: string;
    FirstPartyDataId: number;
}
interface ProcessPayloadInput {
    request: RequestClient;
    settings: Settings;
    payloads: Payload[];
    features?: Record<string, boolean>;
    rawData?: RawData[];
}
export type RawData = {
    context?: {
        personas?: {
            computation_key?: string;
            computation_class?: string;
            computation_id?: string;
        };
    };
};
export type ExecuteInputRaw<Settings, Payload, RawData, AudienceSettings = unknown> = ExecuteInput<Settings, Payload, AudienceSettings> & {
    rawData?: RawData;
};
export declare const TTD_LEGACY_FLOW_FLAG_NAME = "actions-the-trade-desk-crm-legacy-flow";
export declare const TTD_LIST_ACTION_FLOW_FLAG_NAME = "ttd-list-action-destination";
export declare function processPayload(input: ProcessPayloadInput, subscriptionMetadata?: SubscriptionMetadata): Promise<void | ModifiedResponse<unknown>>;
export declare const hash: (value: string) => string;
export declare function getAllDataSegments(request: RequestClient, advertiserId: string, authToken: string): Promise<Segments[]>;
export {};
