export interface LinkProvider { id: string; label: string; brand: string; /** For brands that are essentially black and vanish on a dark card. */ brandDark?: string; hosts: string[]; hostSuffixes?: string[]; detail?: (url: URL) => string | null; } /** Seventy-three sites, and the seven that also read a line out of the path. */ export declare const LINK_PROVIDERS: LinkProvider[]; /** The hostname without `www.`, or the input when that was not a URL. */ export declare function hostnameOf(url: string): string; export declare function getLinkProvider(url: string): LinkProvider | null; /** The line a provider can read out of the path, if it knows how. */ export declare function getProviderDetail(url: string): string | null; /** * The accent a card is drawn with: the brand where we know it, the colour the page declared * where we do not, and null for the app's own accent when neither is on offer. */ export declare function getAccentColor(url: string, themeColor: string | null | undefined, appearance: "light" | "dark"): string | null;