type MatchDetailPosterMetric = { label: string; value: string | number; delta?: string; }; type MatchDetailPosterComparison = { label: string; /** Raw player value retained for callers; the poster shows it in the summary card. */ value: string | number; delta: string; /** Filled portion of the comparison bar, from 0 to 100. */ playerPercent: number; /** Benchmark marker position, from 0 to 100. */ benchmarkPercent: number; }; type MatchDetailPosterMoment = { /** Deprecated visual hint kept for backwards compatibility; the poster uses a typographic marker. */ icon?: string; label: string; value: string | number; description?: string; /** Deprecated image slot kept for backwards compatibility. */ imageUrl?: string; }; type MatchDetailPosterBadgeTone = 'positive' | 'negative' | 'neutral' | 'accent'; type MatchDetailPosterBadge = { label: string; value?: string | number; tone?: MatchDetailPosterBadgeTone; }; type MatchDetailPosterInsight = { /** Conclusion text shown in the insight pill. */ text: string; /** Optional explicit color, e.g. rgb(34, 255, 197) or #22ffc5. */ color?: string; /** Optional semantic fallback when color is not provided. */ tone?: MatchDetailPosterBadgeTone; }; type MatchDetailPosterLabels = { /** Section title for lobby comparisons. */ vsLobby?: string; /** Section title for match moments. */ matchMoments?: string; }; type MatchDetailPosterProps = { /** Footer brand wordmark rendered with the shared VALPRO brand-mark logic. */ brandLabel?: string; /** Match result callout, e.g. `"VICTORY"`. */ outcomeLabel: string; /** Matches MatchCard result semantics: win, loss, or a neutral draw. */ result?: 'win' | 'loss' | 'draw'; /** Left score in the hero row. */ myTeamScore: number; /** Right score in the hero row. */ enemyTeamScore: number; /** Map and mode shown in the left side of the poster header. */ mapName: string; modeLabel: string; /** Match duration shown with the date in the right side of the poster header. */ durationLabel: string; /** Optional date shown in the top-right metadata block. */ dateLabel?: string; /** Optional competitive tier colour applied to the rank label. */ rankColor?: string; /** Optional rank / queue label shown above the date. */ rankLabel?: string; /** Optional map splash art rendered behind the poster content. */ mapBackgroundUrl?: string; /** Kept for backwards compatibility. The new layout uses the agent icon. */ agentPortraitUrl?: string; /** Small agent icon shown beside the player identity. */ agentIconUrl: string; /** Agent display name in the player identity block. */ agentName: string; /** Player name/tag shown in the player identity block. */ playerTag: string; /** Highlight KDA block. */ kills: number; deaths: number; assists: number; /** First deaths, sourced from the match combat stats (`FD`). */ firstDeaths?: number; /** Core metric row, typically ACS / ADR / HS% / KAST. */ primaryMetrics: MatchDetailPosterMetric[]; /** Additional metrics retained for existing callers and moment fallbacks. */ secondaryMetrics: MatchDetailPosterMetric[]; /** Optional benchmark rows. When omitted, the comparison panel is hidden. */ comparisons?: MatchDetailPosterComparison[]; /** Optional highlight cards, based on the app's match moments / multikills. */ moments?: MatchDetailPosterMoment[]; /** Optional conclusion labels. These are preferred over raw stat badges. */ insights?: MatchDetailPosterInsight[]; /** Backwards-compatible raw badge input; converted to compact conclusions when insights is absent. */ badges?: Array; /** Optional translations for labels generated by the poster itself. */ labels?: MatchDetailPosterLabels; /** Override the default 1080px canvas width. */ width?: number; /** Override the default 1920px canvas height. */ height?: number; }; /** * Match-detail share poster inspired by a post-match performance recap. * It keeps the original MatchDetailPoster data contract while adding the * compact scoreboard hierarchy: summary stats, lobby benchmark bars, moments, * and derived performance insights. Summary values are intentionally shown * only once; the lobby panel focuses on relative position and delta. */ declare function MatchDetailPoster({ brandLabel, outcomeLabel, result, myTeamScore, enemyTeamScore, mapName, modeLabel, durationLabel, dateLabel, rankColor, rankLabel, mapBackgroundUrl, agentIconUrl, agentName, playerTag, kills, deaths, assists, firstDeaths, primaryMetrics, secondaryMetrics, comparisons, moments, insights, badges, labels, width, height, }: MatchDetailPosterProps): import("react/jsx-runtime").JSX.Element; export { MatchDetailPoster }; export type { MatchDetailPosterBadge, MatchDetailPosterBadgeTone, MatchDetailPosterInsight, MatchDetailPosterLabels, MatchDetailPosterComparison, MatchDetailPosterMetric, MatchDetailPosterMoment, MatchDetailPosterProps, }; //# sourceMappingURL=match-detail-poster.d.ts.map