/** * Browser bar — dispatches between coded browser chrome styles (Chrome, Safari, …). * * Chrome: pixel-perfect from toolbar4.svg (ref 2160×129, two-row layout). * Safari: ref 1500×52, single-row toolbar with SF Pro Symbols icons. * * Dynamic content (page title, URL, favicon) overlaid as HTML. * SF Pro embedded fonts for cross-OS rendering. */ export type BrowserBarStyle = 'chrome' | 'safari'; export interface BrowserBarConfig { url?: string; pageTitle?: string; tabIconUrl?: string; colorScheme?: 'light' | 'dark'; /** Which coded browser chrome to draw. Defaults to 'chrome' when unset. */ style?: BrowserBarStyle; } export interface BrowserBarZoneRect { x: number; y: number; width: number; height: number; fontSize?: number; fontWeight?: number | string; textAlign?: 'left' | 'center' | 'right'; } export interface BrowserBarZones { favicon?: BrowserBarZoneRect; pageTitle?: BrowserBarZoneRect; url?: BrowserBarZoneRect; } export interface BrowserBarRenderOptions { config: BrowserBarConfig; width: number; height: number; scale: number; pixelScale?: number; } export declare function generateBrowserBarHtml(options: BrowserBarRenderOptions): string; export declare function generateBrowserBarSvg(options: BrowserBarRenderOptions): string; export declare function generateChromeBrowserBarHtml(options: BrowserBarRenderOptions): string; /** * Generate a self-contained SVG string for the Chrome browser bar. * Used by the sharp compositing pipeline (no Playwright). * Returns an SVG at the target width×height with embedded fonts. */ export declare function generateChromeBrowserBarSvg(options: BrowserBarRenderOptions): string;