/** * Configuration types for BigCrunch Mobile Ads SDK */ import { AdFormat } from './index'; /** * App configuration from BigCrunch backend */ export interface AppConfig { /** Property ID */ propertyId: string; /** Property name */ propertyName: string; /** S2S auction configuration */ s2s?: S2SConfig; /** Top-level bidder configurations (bidderName → BidderEntry) */ bidders?: Record; /** List of configured placements */ placements: PlacementConfig[]; /** Global settings */ settings?: GlobalSettings; /** Last updated timestamp */ lastUpdated?: string; /** Config version */ version?: string; } /** * Individual placement configuration */ export interface PlacementConfig { /** Unique placement UUID for backend reporting */ id: string; /** Developer-facing placement identifier */ placementId: string; /** Placement name for reporting */ placementName?: string; /** Ad format type */ format: AdFormat; /** Google Ad Manager ad unit ID */ gamAdUnit: string; /** Ad size configuration */ size?: AdSizeConfig; /** Amazon APS configuration */ amazonConfig?: AmazonConfig; /** Placement-specific settings */ settings?: PlacementSettings; /** Whether placement is active */ enabled: boolean; } /** * Ad size configuration */ export interface AdSizeConfig { /** Width in dp/points */ width: number; /** Height in dp/points */ height: number; /** Whether to use adaptive sizing */ adaptive?: boolean; } /** * S2S (server-to-server) configuration for bid requests */ export interface S2SConfig { /** Whether S2S is enabled */ enabled: boolean; /** S2S auction server URL */ serverUrl: string; /** Timeout for S2S requests in milliseconds */ timeoutMs: number; } /** * Configuration for a single bidder at the app level * * Contains shared bidder params and a map of placement-specific params. * Bidder-to-placement mapping is resolved from this structure. */ export interface BidderEntry { /** Shared bidder-level parameters */ params?: Record; /** Per-placement params: placementId → imp-level params */ placements?: Record>; } /** * Amazon APS configuration */ export interface AmazonConfig { /** Amazon slot ID */ slotId: string; /** Enable Amazon integration */ enabled: boolean; /** Timeout for Amazon requests */ timeout?: number; } /** * Global settings */ export interface GlobalSettings { /** Enable test mode */ testMode?: boolean; /** Test device IDs */ testDeviceIds?: string[]; /** Enable verbose logging */ verboseLogging?: boolean; /** Session timeout in seconds */ sessionTimeout?: number; /** Analytics batch size */ analyticsBatchSize?: number; /** Analytics flush interval in seconds */ analyticsFlushInterval?: number; /** Enable crash reporting */ crashReporting?: boolean; /** GDPR consent string */ gdprConsent?: string; /** CCPA compliance string */ ccpaString?: string; /** COPPA compliance */ coppaCompliant?: boolean; /** Global refresh config (defaults for all banner placements) */ refresh?: RefreshConfig; } /** * Refresh configuration for banner ads */ export interface RefreshConfig { /** Whether refresh is enabled */ enabled: boolean; /** Refresh interval in milliseconds */ intervalMs: number; /** Maximum number of refreshes */ maxRefreshes: number; } /** * Placement-specific settings */ export interface PlacementSettings { /** Auto-refresh interval in seconds (0 = disabled) */ refreshInterval?: number; /** Maximum refresh count */ maxRefreshCount?: number; /** Enable viewability tracking */ viewabilityTracking?: boolean; /** Viewability threshold percentage */ viewabilityThreshold?: number; /** Custom targeting for this placement */ customTargeting?: Record; } //# sourceMappingURL=config.d.ts.map