/** * Real brand marks as reference assets. Video/image models drawing a logo * "from memory" produce near-logos with mangled letterforms — the fix is to * fetch the actual mark once and attach it as a reference image. * * Keyless public sources, tried in order: * 1. Clearbit logo CDN — color PNG by company domain * 2. SimpleIcons CDN — monochrome brand-mark SVG by slug * 3. Google favicon API — small PNG, last resort * * Trademark clearance stays the operator's call — surface that once per * project, then proceed. */ export type LogoSource = 'clearbit' | 'simpleicons' | 'favicon'; export interface FetchedLogo { bytes: Uint8Array; /** File extension without the dot (png | svg). */ ext: string; source: LogoSource; url: string; } export interface FetchLogoOptions { /** Explicit company domain (else guessed as .com). */ domain?: string; /** Restrict to one source instead of the ladder. */ source?: LogoSource; /** SimpleIcons tint, e.g. "white" or "0A0A0A". */ color?: string; /** Clearbit size in px (default 512). */ size?: number; /** Injectable fetch for tests. */ fetchImpl?: typeof fetch; } export declare function guessDomain(brand: string): string; /** * Fetch a brand mark, walking the source ladder. Returns null when every * source misses — the caller should then ask the operator for a file/URL * rather than letting a model improvise the mark. */ export declare function fetchBrandLogo(brand: string, opts?: FetchLogoOptions): Promise; //# sourceMappingURL=logos.d.ts.map