UNPKG

iab-openrtb

Version:

TypeScript definitions for IAB Tech Lab's OpenRTB (Open Real Time Bidding)

919 lines (915 loc) 27.6 kB
import { CreativeAttribute, PlacementPosition, ExpandableDirection, APIFramework, StartDelayMode, AudioVideoCreativeSubtype, VideoPlacementSubtype, LinearityMode, SlotPosition, PlaybackMethod, PlaybackCessationMode, DeliveryMethod, CompanionType, PodDeduplicationSetting, FeedType, VolumeNormalizationMode, DeviceType, ConnectionType, LocationType, IPLocationService, CategoryTaxonomy, ProductionQuality, ContentContext, MediaRating, IDMatchMethod, AgentType, UserAgentSource, DOOHMultiplierMeasurementSourceType, DOOHVenueTaxonomy, AutoRefreshTrigger } from 'iab-adcom'; import { B as BannerAdType } from './enum-DwweZ27c.js'; /** * OpenRTB No-Bid Reason Codes * Signals why a bidder did not offer a bid for the item */ declare const NoBidReasonCode: { readonly UNKNOWN_ERROR: 0; readonly TECHNICAL_ERROR: 1; readonly INVALID_REQUEST: 2; readonly KNOWN_WEB_CRAWLER: 3; readonly SUSPECTED_NON_HUMAN_TRAFFIC: 4; readonly CLOUD_DATA_CENTER_OR_PROXY_IP: 5; readonly UNSUPPORTED_DEVICE: 6; readonly BLOCKED_PUBLISHER_OR_SITE: 7; readonly UNMATCHED_USER: 8; readonly DAILY_USER_CAP_MET: 9; readonly DAILY_DOMAIN_CAP_MET: 10; readonly ADS_TXT_AUTHORIZATION_UNAVAILABLE: 11; readonly ADS_TXT_AUTHORIZATION_VIOLATION: 12; readonly ADS_CERT_AUTHENTICATION_UNAVAILABLE: 13; readonly ADS_CERT_AUTHENTICATION_VIOLATION: 14; readonly INSUFFICIENT_AUCTION_TIME: 15; readonly INCOMPLETE_SUPPLY_CHAIN: 16; readonly BLOCKED_SUPPLY_CHAIN_NODE: 17; readonly EXCHANGE_SPECIFIC: 500; }; type NoBidReasonCode = (typeof NoBidReasonCode)[keyof typeof NoBidReasonCode]; /** * OpenRTB Loss Reason Codes * Informs a bidder why they did not win an item */ declare const LossReasonCode: { readonly BID_WON: 0; readonly INTERNAL_ERROR: 1; readonly IMPRESSION_OPPORTUNITY_EXPIRED: 2; readonly INVALID_BID_RESPONSE: 3; readonly INVALID_DEAL_ID: 4; readonly INVALID_AUCTION_ID: 5; readonly INVALID_ADVERTISER_DOMAIN: 6; readonly MISSING_MARKUP: 7; readonly MISSING_CREATIVE_ID: 8; readonly MISSING_BID_PRICE: 9; readonly MISSING_MINIMUM_CREATIVE_APPROVAL_DATA: 10; readonly BID_BELOW_AUCTION_FLOOR: 100; readonly BID_BELOW_DEAL_FLOOR: 101; readonly LOST_TO_HIGHER_BID: 102; readonly LOST_TO_DEAL: 103; readonly BUYER_SEAT_BLOCKED: 104; readonly CREATIVE_FILTERED_GENERAL: 200; readonly CREATIVE_FILTERED_PENDING_PROCESSING: 201; readonly CREATIVE_FILTERED_DISAPPROVED: 202; readonly CREATIVE_FILTERED_SIZE_NOT_ALLOWED: 203; readonly CREATIVE_FILTERED_INCORRECT_FORMAT: 204; readonly CREATIVE_FILTERED_ADVERTISER_EXCLUSIONS: 205; readonly CREATIVE_FILTERED_APP_STORE_ID_EXCLUSIONS: 206; readonly CREATIVE_FILTERED_NOT_SECURE: 207; readonly CREATIVE_FILTERED_LANGUAGE_EXCLUSIONS: 208; readonly CREATIVE_FILTERED_CATEGORY_EXCLUSIONS: 209; readonly CREATIVE_FILTERED_ATTRIBUTE_EXCLUSIONS: 210; readonly CREATIVE_FILTERED_AD_TYPE_EXCLUSIONS: 211; readonly CREATIVE_FILTERED_ANIMATION_TOO_LONG: 212; readonly CREATIVE_FILTERED_NOT_ALLOWED_IN_DEAL: 213; readonly CREATIVE_FILTERED_INVALID_SKADNETWORK: 214; readonly CREATIVE_FILTERED_APP_BUNDLE_EXCLUSIONS: 215; readonly EXCHANGE_SPECIFIC: 500; }; type LossReasonCode = (typeof LossReasonCode)[keyof typeof LossReasonCode]; /** * Describes the nature and behavior of the bid request source entity */ interface Source { /** Entity responsible for the final impression sale decision */ fd?: 0 | 1; /** Transaction ID common across all participants */ tid?: string; /** Payment ID chain string */ pchain?: string; /** Supply chain object containing supply chain and completion status */ schain?: SupplyChain; /** Placeholder for exchange-specific extensions */ ext?: Record<string, unknown>; } /** * Contains legal, governmental, or industry regulations */ interface Regs { /** Flag indicating if request is subject to COPPA regulations */ coppa?: 0 | 1; /** Flag indicating if request is subject to GDPR regulations */ gdpr?: 0 | 1; /** US privacy regulation signals */ us_privacy?: string; /** Global Privacy Platform consent string */ gpp?: string; /** Array of applicable GPP string sections */ gpp_sid?: number[]; /** Placeholder for exchange-specific extensions */ ext?: Record<string, unknown>; } /** * Describes an ad placement or impression being auctioned */ interface Imp { /** Unique identifier for this impression */ id: string; /** Array of metrics */ metric?: Metric[]; /** Banner object for banner impression */ banner?: Banner; /** Video object for video impression */ video?: Video; /** Audio object for audio impression */ audio?: Audio; /** Native object for native impression */ native?: Native; /** Private marketplace deals */ pmp?: Pmp; /** Ad mediation partner name */ displaymanager?: string; /** Ad mediation partner version */ displaymanagerver?: string; /** Indicates if ad is interstitial */ instl?: 0 | 1; /** Ad placement or tag identifier */ tagid?: string; /** Minimum bid for impression in CPM */ bidfloor?: number; /** Currency for bidfloor */ bidfloorcur?: string; /** Type of browser opened upon clicking */ clickbrowser?: 0 | 1; /** Flag indicating secure HTTPS URL requirement */ secure?: 0 | 1; /** Supported iframe busters */ iframebuster?: string[]; /** Indicates if user receives reward for viewing */ rwdd?: 0 | 1; /** Server-side ad insertion status */ ssai?: 0 | 1 | 2 | 3; /** Advisory time between auction and impression */ exp?: number; /** Impression quantity multiplier */ qty?: Qty; /** Estimated fulfillment timestamp */ dt?: number; /** Auto-refresh details */ refresh?: Refresh; /** Placeholder for exchange-specific extensions */ ext?: Record<string, unknown>; } /** * Provides insight metrics associated with an impression for decisioning * such as viewability rates and click-through rates */ interface Metric { /** Type of metric being presented */ type: string; /** Value of the metric (probabilities must be 0.0-1.0) */ value: number; /** Source of the metric value */ vendor?: string; /** Extension field */ ext?: Record<string, unknown>; } /** * Represents a banner type impression */ interface Banner { /** Array of permitted banner sizes */ format?: Format[]; /** Exact width in DIPS */ w?: number; /** Exact height in DIPS */ h?: number; /** Blocked banner ad types */ btype?: BannerAdType[]; /** Blocked creative attributes */ battr?: CreativeAttribute[]; /** Ad position on screen */ pos?: PlacementPosition; /** Supported content MIME types */ mimes?: string[]; /** Indicates if banner is in top frame */ topframe?: 0 | 1; /** Allowed expansion directions */ expdir?: ExpandableDirection[]; /** Supported API frameworks */ api?: APIFramework[]; /** Unique identifier for banner */ id?: string; /** Companion banner rendering mode */ vcm?: 0 | 1; /** Placeholder for exchange-specific extensions */ ext?: Record<string, unknown>; } /** * Represents a video impression */ interface Video { /** Supported content MIME types */ mimes: string[]; /** Minimum video ad duration in seconds */ minduration?: number; /** Maximum video ad duration in seconds */ maxduration?: number; /** Start delay in seconds */ startdelay?: StartDelayMode; /** Maximum number of ads in dynamic pod */ maxseq?: number; /** Total time for dynamic video ad pod */ poddur?: number; /** Supported video protocols */ protocols?: AudioVideoCreativeSubtype[]; /** Width of video player in DIPS */ w?: number; /** Height of video player in DIPS */ h?: number; /** Video ad pod identifier */ podid?: string; /** Position of video ad pod in content */ podseq?: number; /** Precise acceptable durations in seconds */ rqddurs?: number[]; /** Video placement type */ plcmt?: VideoPlacementSubtype; /** Required linearity */ linearity?: LinearityMode; /** Indicates if video is skippable */ skip?: 0 | 1; /** Minimum duration for skippable video */ skipmin?: number; /** Delay before skip enabled */ skipafter?: number; /** Guaranteed slot position in pod */ slotinpod?: SlotPosition; /** Minimum CPM per second */ mincpmpersec?: number; /** Blocked creative attributes */ battr?: CreativeAttribute[]; /** Maximum extended duration */ maxextended?: number; /** Minimum bit rate in Kbps */ minbitrate?: number; /** Maximum bit rate in Kbps */ maxbitrate?: number; /** Allows letter-boxing of 4:3 content */ boxingallowed?: 0 | 1; /** Permitted playback methods */ playbackmethod?: PlaybackMethod[]; /** Playback end event */ playbackend?: PlaybackCessationMode; /** Supported delivery methods */ delivery?: DeliveryMethod[]; /** Ad position on screen */ pos?: PlacementPosition; /** Companion ad array */ companionad?: Banner[]; /** Supported API frameworks */ api?: APIFramework[]; /** Supported companion ad types */ companiontype?: CompanionType[]; /** Pod deduplication settings */ poddedupe?: PodDeduplicationSetting[]; /** Floor prices for various durations */ durfloors?: DurFloors[]; /** Placeholder for exchange-specific extensions */ ext?: Record<string, unknown>; } /** * Represents an audio type impression that complies with the VAST standard */ interface Audio { /** Content MIME types supported */ mimes: string[]; /** Minimum audio ad duration in seconds */ minduration?: number; /** Maximum audio ad duration in seconds */ maxduration?: number; /** Total time for dynamic audio ad pod */ poddur?: number; /** Supported audio protocols */ protocols?: AudioVideoCreativeSubtype[]; /** Start delay in seconds */ startdelay?: StartDelayMode; /** Precise acceptable durations in seconds */ rqddurs?: number[]; /** Audio ad pod identifier */ podid?: string; /** Position of audio ad pod in content */ podseq?: number; /** Guaranteed slot position in pod */ slotinpod?: SlotPosition; /** Minimum CPM per second */ mincpmpersec?: number; /** Blocked creative attributes */ battr?: CreativeAttribute[]; /** Maximum extended duration */ maxextended?: number; /** Minimum bit rate in Kbps */ minbitrate?: number; /** Maximum bit rate in Kbps */ maxbitrate?: number; /** Supported delivery methods */ delivery?: DeliveryMethod[]; /** Companion ad array */ companionad?: Banner[]; /** Supported API frameworks */ api?: APIFramework[]; /** Supported companion ad types */ companiontype?: CompanionType[]; /** Maximum number of ads in pod */ maxseq?: number; /** Audio feed type */ feed?: FeedType; /** Indicates if ad is stitched with content */ stitched?: 0 | 1; /** Volume normalization mode */ nvol?: VolumeNormalizationMode; /** Floor prices for various durations */ durfloors?: DurFloors[]; /** Placeholder for exchange-specific extensions */ ext?: Record<string, unknown>; } /** * Device information including hardware, platform, location, and carrier data */ interface Device { /** Location of the device/user's current location */ geo?: Geo; /** Standard "Do Not Track" flag from browser */ dnt?: 0 | 1; /** "Limit Ad Tracking" signal from OS */ lmt?: 0 | 1; /** Browser user agent string (raw) */ ua?: string; /** Structured user agent information */ sua?: UserAgent; /** IPv4 address */ ip?: string; /** IPv6 address */ ipv6?: string; /** Type of device */ devicetype?: DeviceType; /** Device make (e.g., "Apple") */ make?: string; /** Device model (e.g., "iPhone") */ model?: string; /** Operating system (e.g., "iOS") */ os?: string; /** OS version (e.g., "3.1.2") */ osv?: string; /** Hardware version (e.g., "5S") */ hwv?: string; /** Screen height in pixels */ h?: number; /** Screen width in pixels */ w?: number; /** Screen size as pixels per inch */ ppi?: number; /** Pixel ratio (physical/device-independent) */ pxratio?: number; /** JavaScript support flag */ js?: 0 | 1; /** Geolocation API availability */ geofetch?: 0 | 1; /** Flash version */ flashver?: string; /** Browser language (ISO-639-1-alpha-2) */ language?: string; /** Browser language (IETF BCP 47) */ langb?: string; /** Carrier/ISP name */ carrier?: string; /** Mobile carrier MCC-MNC code */ mccmnc?: string; /** Network connection type */ connectiontype?: ConnectionType; /** Advertising ID */ ifa?: string; /** Extension field */ ext?: Record<string, unknown>; } /** * Geographic location information */ interface Geo { /** Latitude (-90.0 to +90.0) */ lat?: number; /** Longitude (-180.0 to +180.0) */ lon?: number; /** Source of location data */ type?: LocationType; /** Location accuracy in meters */ accuracy?: number; /** Seconds since geolocation fix */ lastfix?: number; /** IP geolocation service */ ipservice?: IPLocationService; /** Country code (ISO-3166-1-alpha-3) */ country?: string; /** Region code (ISO-3166-2) */ region?: string; /** Region code (FIPS 10-4) */ regionfips104?: string; /** Google metro code */ metro?: string; /** City code (UN) */ city?: string; /** ZIP/postal code */ zip?: string; /** UTC offset in minutes */ utcoffset?: number; /** Extension field */ ext?: Record<string, unknown>; } /** * User information for advertising audience */ interface User { /** Exchange-specific user ID */ id?: string; /** Buyer-specific user ID */ buyeruid?: string; /** Keywords describing user interests */ keywords?: string; /** Array of keywords about the user */ kwarray?: string[]; /** Custom bidder data */ customdata?: string; /** User's home location */ geo?: Geo; /** Additional user data */ data?: Data[]; /** GDPR consent string */ consent?: string; /** Third party identity details */ eids?: Array<EID>; /** Extension field */ ext?: Record<string, unknown>; } /** * Represents a native type impression intended to blend into surrounding content */ interface Native { /** Request payload complying with the Native Ad Specification */ request: string; /** Version of the Dynamic Native Ads API */ ver?: string; /** Supported API frameworks */ api?: APIFramework[]; /** Blocked creative attributes */ battr?: CreativeAttribute[]; /** Placeholder for exchange-specific extensions */ ext?: Record<string, unknown>; } /** * Represents an allowed size for a banner impression */ interface Format { /** Width in device independent pixels */ w?: number; /** Height in device independent pixels */ h?: number; /** Relative width for ratio sizing */ wratio?: number; /** Relative height for ratio sizing */ hratio?: number; /** Minimum width for ratio sizing */ wmin?: number; /** Placeholder for exchange-specific extensions */ ext?: Record<string, unknown>; } /** * Private marketplace container for direct deals */ interface Pmp { /** Auction eligibility indicator */ private_auction?: 0 | 1; /** Array of applicable deals */ deals?: Deal[]; /** Placeholder for exchange-specific extensions */ ext?: Record<string, unknown>; } /** * Represents a specific deal between buyer and seller */ interface Deal { /** Unique identifier for the direct deal */ id: string; /** Minimum bid for impression in CPM */ bidfloor?: number; /** Currency for bidfloor */ bidfloorcur?: string; /** Auction type override */ at?: number; /** Allowed buyer seats */ wseat?: string[]; /** Allowed advertiser domains */ wadomain?: string[]; /** Indicates if deal is guaranteed */ guar?: 0 | 1; /** Minimum CPM per second */ mincpmpersec?: number; /** Floor prices by duration */ durfloors?: DurFloors[]; /** Placeholder for exchange-specific extensions */ ext?: Record<string, unknown>; } /** * Describes website content for the ad */ interface Site { /** Exchange-specific site ID */ id?: string; /** Site name */ name?: string; /** Domain of the site */ domain?: string; /** Category taxonomy in use */ cattax?: CategoryTaxonomy; /** Content categories of the site */ cat?: string[]; /** Categories of current section */ sectioncat?: string[]; /** Categories of current page */ pagecat?: string[]; /** Page URL */ page?: string; /** Referrer URL */ ref?: string; /** Search string */ search?: string; /** Mobile optimization flag */ mobile?: 0 | 1; /** Privacy policy flag */ privacypolicy?: 0 | 1; /** Publisher details */ publisher?: Publisher; /** Content details */ content?: Content; /** Comma separated keywords */ keywords?: string; /** Array of keywords */ kwarray?: string[]; /** Inventory partner domain */ inventorypartnerdomain?: string; /** Placeholder for exchange-specific extensions */ ext?: Record<string, unknown>; } /** * Describes app content for the ad */ interface App { /** Exchange-specific app ID */ id?: string; /** App name */ name?: string; /** App store ID */ bundle?: string; /** Domain of the app */ domain?: string; /** App store URL */ storeurl?: string; /** Category taxonomy in use */ cattax?: CategoryTaxonomy; /** Content categories of the app */ cat?: string[]; /** Categories of current section */ sectioncat?: string[]; /** Categories of current page */ pagecat?: string[]; /** App version */ ver?: string; /** Privacy policy flag */ privacypolicy?: 0 | 1; /** Paid app flag */ paid?: 0 | 1; /** Publisher details */ publisher?: Publisher; /** Content details */ content?: Content; /** Comma separated keywords */ keywords?: string; /** Array of keywords */ kwarray?: string[]; /** Inventory partner domain */ inventorypartnerdomain?: string; /** Placeholder for exchange-specific extensions */ ext?: Record<string, unknown>; } /** * Describes the entity supplying inventory */ interface Publisher { /** Exchange-specific seller ID */ id?: string; /** Seller name */ name?: string; /** Category taxonomy in use */ cattax?: CategoryTaxonomy; /** Content categories of the publisher */ cat?: string[]; /** Highest level domain */ domain?: string; /** Placeholder for exchange-specific extensions */ ext?: Record<string, unknown>; } /** * Describes the content in which the impression will appear */ interface Content { /** Unique ID for the content */ id?: string; /** Episode number */ episode?: number; /** Content title */ title?: string; /** Content series */ series?: string; /** Content season */ season?: string; /** Artist credited with the content */ artist?: string; /** Genre description */ genre?: string; /** Album name */ album?: string; /** International Standard Recording Code */ isrc?: string; /** Content producer details */ producer?: Producer; /** Content URL */ url?: string; /** Category taxonomy in use */ cattax?: CategoryTaxonomy; /** Content categories */ cat?: string[]; /** Production quality */ prodq?: ProductionQuality; /** Content type */ context?: ContentContext; /** Content rating */ contentrating?: string; /** User rating */ userrating?: string; /** Media rating per IQG guidelines */ qagmediarating?: MediaRating; /** Comma separated keywords */ keywords?: string; /** Array of keywords */ kwarray?: string[]; /** Live content flag */ livestream?: 0 | 1; /** Source relationship indicator */ sourcerelationship?: 0 | 1; /** Content length in seconds */ len?: number; /** Content language (ISO-639-1-alpha-2) */ language?: string; /** Content language (IETF BCP 47) */ langb?: string; /** Genre IDs describing the content */ genres?: string[]; /** Taxonomy in use for genres attribute; default Content Taxonomy 3.1 */ gtax?: number; /** Embeddable content flag */ embeddable?: 0 | 1; /** Additional data */ data?: Data[]; /** Network details */ network?: Network; /** Channel details */ channel?: Channel; /** Extension field */ ext?: Record<string, unknown>; } /** * Defines the producer of the content */ interface Producer { /** Content producer ID */ id?: string; /** Content producer name */ name?: string; /** Category taxonomy in use */ cattax?: CategoryTaxonomy; /** Producer content categories */ cat?: string[]; /** Producer domain */ domain?: string; /** Extension field */ ext?: Record<string, unknown>; } /** * Describes the network showing the content */ interface Network { /** Network identifier */ id?: string; /** Network name */ name?: string; /** Network domain */ domain?: string; /** Extension field */ ext?: Record<string, unknown>; } /** * Describes the channel showing the content */ interface Channel { /** Channel identifier */ id?: string; /** Channel name */ name?: string; /** Channel domain */ domain?: string; /** Extension field */ ext?: Record<string, unknown>; } /** * Represents the supply chain of inventory transaction */ interface SupplyChain { /** Indicates if chain contains all nodes */ complete: 0 | 1; /** Array of supply chain nodes */ nodes: SupplyChainNode[]; /** Supply chain specification version */ ver: string; /** Extension field */ ext?: Record<string, unknown>; } /** * Represents a node in the supply chain */ interface SupplyChainNode { /** Domain name of the system */ asi: string; /** Seller account ID */ sid: string; /** OpenRTB request ID */ rid?: string; /** Company name */ name?: string; /** Business domain name */ domain?: string; /** Payment flow indicator */ hp?: 0 | 1; /** Extension field */ ext?: Record<string, unknown>; } /** * Extended identifier support for audience data */ interface EID { /** Domain of entity adding the ID */ inserter?: string; /** ID source domain */ source: string; /** Technology provider domain */ matcher?: string; /** Match method used */ mm?: IDMatchMethod; /** Array of UIDs */ uids: UID[]; /** Extension field */ ext?: Record<string, unknown>; } /** * Single user identifier for extended identifiers */ interface UID { /** User identifier */ id: string; /** Type of user agent */ atype?: AgentType; /** Extension field */ ext?: Record<string, unknown>; } /** * Represents browser or platform version information */ interface BrandVersion { /** Brand identifier */ brand: string; /** Sequence of version components */ version?: string[]; /** Extension field */ ext?: Record<string, unknown>; } /** * Structured user agent information */ interface UserAgent { /** Browser information */ browsers?: BrandVersion[]; /** Platform information */ platform?: BrandVersion; /** Mobile optimization preference */ mobile?: 0 | 1; /** Device architecture */ architecture?: string; /** Device bitness */ bitness?: string; /** Device model */ model?: string; /** Data source */ source?: UserAgentSource; /** Extension field */ ext?: Record<string, unknown>; } /** * Additional data about the user, content, or other contexts */ interface Data { /** Data provider ID */ id?: string; /** Data provider name */ name?: string; /** Array of data segments */ segment?: Segment[]; /** Array of Extended Content IDs */ cids?: string[]; /** Extension field */ ext?: Record<string, unknown>; } /** * Key-value pairs for specific data units */ interface Segment { /** Segment ID */ id?: string; /** Segment name */ name?: string; /** Segment value */ value?: string; /** Extension field */ ext?: Record<string, unknown>; } /** * Represents quantity information for billable events */ interface Qty { /** Quantity of billable events */ multiplier: number; /** Source type of quantity measurement */ sourcetype?: DOOHMultiplierMeasurementSourceType; /** Measurement vendor domain */ vendor?: string; /** Extension field */ ext?: Record<string, unknown>; } /** * Represents Digital Out-Of-Home inventory */ interface DOOH { /** Exchange provided placement ID */ id?: string; /** DOOH placement name */ name?: string; /** Out-of-home venue type */ venuetype?: string[]; /** * Venue taxonomy in use * @default 1 **/ venuetypetax?: DOOHVenueTaxonomy; /** Publisher details */ publisher?: Publisher; /** Inventory owner domain */ domain?: string; /** Keywords about the DOOH placement */ keywords?: string; /** Content details */ content?: Content; /** Extension field */ ext?: Record<string, unknown>; } /** * Information about ad slot refresh behavior */ interface Refresh { /** Refresh settings details */ refsettings?: RefSettings[]; /** Number of times slot has been refreshed */ count?: number; /** Extension field */ ext?: Record<string, unknown>; } /** * Details about how an ad slot refreshes */ interface RefSettings { /** Type of auto refresh trigger */ reftype?: AutoRefreshTrigger; /** Minimum refresh interval in seconds */ minint?: number; /** Extension field */ ext?: Record<string, unknown>; } /** * Price floors for time-based creatives */ interface DurFloors { /** Low end of duration range */ mindur?: number; /** High end of duration range */ maxdur?: number; /** Minimum bid for impression in CPM */ bidfloor?: number; /** Extension field */ ext?: Record<string, unknown>; } export { type App as A, type Banner as B, type Content as C, type DOOH as D, type EID as E, type Format as F, type Geo as G, type Imp as I, LossReasonCode as L, type Metric as M, NoBidReasonCode as N, type Pmp as P, type Qty as Q, type Regs as R, type Site as S, type User as U, type Video as V, type Device as a, type Source as b, type Audio as c, type Native as d, type Deal as e, type Publisher as f, type Producer as g, type Network as h, type Channel as i, type SupplyChain as j, type SupplyChainNode as k, type UID as l, type BrandVersion as m, type UserAgent as n, type Data as o, type Segment as p, type Refresh as q, type RefSettings as r, type DurFloors as s };