import { StateContext, Destination, TransactionContext } from './destination-kit'; import type { DestinationDefinition, StatsContext, Logger, EngageDestinationCache, RequestFn, SubscriptionMetadata } from './destination-kit'; import type { JSONObject } from './json-object'; import type { SegmentEvent } from './segment-event'; import { AuthTokens } from './destination-kit/parse-settings'; import { Features } from './mapping-kit'; import { ExecuteDynamicFieldInput } from './destination-kit/action'; import { DynamicFieldResponse, Result } from './destination-kit/types'; interface InputData { event?: Partial; mapping?: JSONObject; settings?: Settings; useDefaultMappings?: boolean; auth?: AuthTokens; features?: Features; statsContext?: StatsContext; logger?: Logger; engageDestinationCache?: EngageDestinationCache; transactionContext?: TransactionContext; stateContext?: StateContext; subscriptionMetadata?: SubscriptionMetadata; } declare class TestDestination extends Destination { responses: Destination['responses']; results: Result[]; constructor(destination: DestinationDefinition); testDynamicField(action: string, fieldKey: string, data: ExecuteDynamicFieldInput, dynamicFn?: RequestFn): Promise; testAction(action: string, { event, mapping, settings, useDefaultMappings, auth, features, statsContext, logger, engageDestinationCache, transactionContext, stateContext, subscriptionMetadata }: InputData): Promise; testBatchAction(action: string, { events, mapping, settings, useDefaultMappings, auth, features, statsContext, logger, engageDestinationCache, transactionContext, stateContext, subscriptionMetadata }: Omit, 'event'> & { events?: SegmentEvent[]; }): Promise; } export declare function createTestIntegration(destination: DestinationDefinition): TestDestination; export {};