import type { StreamSettings as SLStreamSettings, SdkOverlay, Advertising, OrganizationSettings as SLOrganizationSettings } from '@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb'; import type { GameSettings as IGameSettings } from '@streamlayer/sl-eslib/sdkSettings/game/common/game_common_pb'; import type { ClientSettings } from '@streamlayer/sl-eslib/sdkSettings/client/client_pb'; import type { User as ProtoUser } from '@streamlayer/sl-eslib/users/users_common_pb'; import type { SummaryResponse_ResponseData_SummaryResponseAttributes } from '@streamlayer/sl-eslib/sports/events/events_pb'; import type { PickHistory as IPickHistory, InsightHistory as IInsightHistory, TweetHistory as ITweetHistory, FeedItem as IFeedItem, FeedItemAttributes as IFeedItemAttributes, InstantView as IInstantView, PromotionHistory as IPromotionHistory } from '@streamlayer/sl-eslib/interactive/feed/interactive.feed_pb'; import type { LeaderboardItem as ILeaderboardItem } from '@streamlayer/sl-eslib/interactive/leaderboard/interactive.leaderboard_pb'; import { type ExtendedQuestionAnswer as IExtendedQuestionAnswer, type Question as IQuestion, type ExtendedQuestion as IExtendedQuestion, type QuestionOptions_PromotionOptions, type QuestionOptions_AdCampaigns, type QuestionNotification as IQuestionNotification, type PromotionNotification as IPromotionNotification, type CloseTimer as ICloseTimer, type Promotion as IPromotion } from '@streamlayer/sl-eslib/interactive/interactive.common_pb'; import type { AdCampaigns as IGamAdCampaigns, GamOptions as IGamOptions } from '@streamlayer/sl-eslib/interactive/gam/interactive.gam_pb'; import type { EventWithSeries as IEventWithSeries } from '@streamlayer/sl-eslib/polymarket/sportsClient_pb'; export type UnionOmit = T extends unknown ? Omit : never; export type NullUnionOmit = null extends T ? UnionOmit, K> : UnionOmit; export type RecursiveOmitHelper = { [P in keyof T]: RecursiveOmit; }; export type RecursiveOmit = T extends { [P in K]: any; } ? NullUnionOmit, K> : RecursiveOmitHelper; export type RecursivePartial = T extends object ? { [P in keyof T]?: RecursivePartial | null; } : T; export type PlainMessage = RecursiveOmit; export type PartialMessage = RecursivePartial>; export { QuestionType, QuestionStatus, QuestionImages, QuestionPosition, NotificationPromotionImagePosition, ImagePosition, SilenceSetting, type QuestionOptions, PromotionType, PromotionButtonType, PromotionWallet, PromotionLogoMode, PromotionLayout, CtaIconMode, NotificationSponsorLogoMode, NotificationEnabled, NotificationUseContentMedia, NotificationUseContentTexts, CloseTimerAuto, NotificationPromotionMode, AutoPlayVideo, PlayVideoMuted, UseAsNotification, AdUnit, FactoidMediaMode, } from '@streamlayer/sl-eslib/interactive/interactive.common_pb'; export { PickHistoryStatus, type SubscriptionResponse, } from '@streamlayer/sl-eslib/interactive/feed/interactive.feed_pb'; export type PickHistory = PlainMessage; export type ExtendedQuestionAnswer = PlainMessage; export type InsightHistory = PlainMessage; export type TweetHistory = PlainMessage; export type OrganizationSettings = SLOrganizationSettings; export type OrganizationAdvertising = Advertising; export type FeatureConfig = PlainMessage; export type StreamSettings = SLStreamSettings; export type User = { data: ProtoUser | undefined; }; export type UserSettings = ClientSettings; export type LeaderboardItem = ILeaderboardItem; export type FeedItem = PlainMessage; export type FeedItemAttributes = PlainMessage; export type InstantView = PlainMessage; export type GameSettings = PlainMessage; export type Question = PlainMessage; export type ExtendedQuestion = PlainMessage; export type CloseTimer = PlainMessage; export type PromotionHistory = PlainMessage; export type PromotionOptions = QuestionOptions_PromotionOptions; export type Promotion = PlainMessage; export type QuestionNotification = PlainMessage; export type PromotionNotification = PlainMessage; export type EventSummary = PlainMessage; /** `streamlayer.interactive.gam.GamOptions` — a superset of the deprecated `QuestionOptions` one. */ export type GamOptions = PlainMessage; /** `streamlayer.interactive.gam.AdCampaigns`, carried by `Question.promotion.adCampaigns`. */ export type AdCampaigns = PlainMessage; /** * The deprecated `QuestionOptions.PromotionOptions.adCampaigns` carrier. Field-identical to * {@link AdCampaigns}, but its enums are distinct nominal types, so the two are not mutually * assignable — consumers that accept either must take the union. */ export type LegacyAdCampaigns = PlainMessage; export type EventWithSeries = PlainMessage; export { SdkOverlayType as FeatureType, type SdkOverlaySettings, type GamesOverlaySettings, } from '@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb'; export { InvitationFrom } from '@streamlayer/sl-eslib/analytics/v1/invitations/invitations_pb'; export declare enum NotificationType { ONBOARDING = 1, QUESTION = 2, QUESTION_RESOLVED = 3 } /** * Placement of a consumer-injected external (VAST) ad — the injected card renders where * `uiType` says (explicit host intent wins over the VAST `streamlayer` extension `adType`, * which keeps routing API-driven external ads): * - `'side-by-side'` — plays beside the host video via the PAL/GAM sibling pipeline. * - `'sidebar'` — a standard sidebar ad; the VAST main (linear) creative is the sidebar's main media. * - `'l-bar'` — a sidebar plus a bottom banner strip; the banner image comes from the VAST companion * ad (without a companion the ad degrades to a plain sidebar). * * `'sidebar'` / `'l-bar'` are rendered by the TV surface (`StreamLayerSDKTv`); the desktop * `StreamLayerSDKAdvertisement` currently supports `'side-by-side'` only and skips the others * with a console warning. */ export type ExternalAdUiType = 'side-by-side' | 'sidebar' | 'l-bar'; /** * Simplified external-ad shape a host app passes declaratively to * `StreamLayerSDKTv` / `StreamLayerSDKAdvertisement`. The SDK maps it into an * internal promotion card and adds it to the cards-queue. */ export type ExternalAdInput = { /** VAST tag URL (raw VAST/VMAP or a GAM ad-tag URL). */ vastUrl: string; /** Where the ad renders: `'side-by-side'`, `'sidebar'`, or `'l-bar'`. */ uiType: ExternalAdUiType; /** * Background image URL for landscape layouts. Used by the side-by-side shell when the ad * carries no background of its own, before the SDK default background. */ landscapeBackground?: string; /** * Background image URL for portrait layouts. Used by the side-by-side shell when the ad * carries no background of its own, before the SDK default background. */ portraitBackground?: string; }; /** * Deterministic, stable id for an injected external ad. Same `vastUrl`+`uiType` * always yields the same id, so re-renders don't re-add the card. ES5-safe. */ export declare const deriveExternalAdId: (input: Pick) => string;