import type { ResolvedConfig, ABTestConfig, MatcherOverride } from "../config"; import * as ortb2 from "iab-openrtb/v26"; type Identifier = { id: string; }; type AudienceIdentifiers = { ids: Identifier[]; provider: string; rtb_segtax: number; keyspace?: string; }; type UserIdentifiers = { ids: Identifier[]; provider: string; }; type TargetingRequest = { ids: string[]; hids: string[]; }; type TargetingResponse = { audience?: AudienceIdentifiers[]; user?: UserIdentifiers[]; ortb2: { user: ortb2.User; }; refs?: Record; resolved_ids?: string[]; ab_test_id?: string; split_test_assignment?: string; }; declare function determineABTest(abTests?: ABTestConfig[]): ABTestConfig | null; declare function Targeting(config: ResolvedConfig, req: TargetingRequest): Promise; declare function TargetingFromCache(config: ResolvedConfig): TargetingResponse | null; declare function TargetingClearCache(config: ResolvedConfig): void; type PrebidORTB2 = { user: ortb2.User; }; declare function PrebidORTB2(tdata: TargetingResponse | null): PrebidORTB2; type TargetingKeyValues = Record; declare function TargetingKeyValues(tdata: TargetingResponse | null): TargetingKeyValues; export { Targeting, TargetingFromCache, TargetingClearCache, PrebidORTB2, TargetingKeyValues, determineABTest }; export default Targeting; export type { TargetingResponse, TargetingRequest, ABTestConfig, MatcherOverride };