import React from "react"; /** * The channels we can name. Anything NOT on this list has no brand mark and * takes a generic `Icon` — a phone call, an in-person event, a website, an * email that is not tied to one provider. Inventing a mark for those is how a * byline ends up claiming a channel the record does not carry. * * A CHANNEL earns a mark; a PRODUCT does not. The line is whether a business * reaches people through it — a post, a message, a campaign — or merely uses it * to work. So the ad platforms belong here beside the social surfaces, while a * mailbox or a drive does not, and the two are easy to confuse because the same * company often sells both. * * Every mark is a single-path CC0 silhouette taken from simple-icons, with that * project's own hex. Never hand-write one: a recalled path renders something * plausible and slightly wrong, which is the one defect a reader spots instantly * and a test suite never does. */ export declare const BRAND_NAMES: readonly ["facebook", "instagram", "threads", "meta", "tiktok", "google-ads", "zalo", "linkedin", "x", "google-meet"]; export type BrandName = (typeof BRAND_NAMES)[number]; export interface BrandMarkProps { name: BrandName; /** Edge length in px. Defaults to 16 — the size that sits on a byline line. */ size?: number; /** * Draw in the current text colour instead of the brand's. For a surface where * a run of coloured marks would compete with the content beside them. */ muted?: boolean; testID?: string; } /** * A third-party channel's mark — the logo that says WHERE a touchpoint * happened, at a glance, in a list of them. * * Not a general icon: `Icon` owns the curated glyph set and everything drawn in * the app's own language. This is the narrow set of OUTSIDE brands we identify, * and it is deliberately an allowlist — a name that is not in `MARKS` will not * typecheck, so a channel with no mark falls back to a generic icon at the call * site rather than silently rendering the wrong company's logo. */ export declare function BrandMark(props: BrandMarkProps): React.JSX.Element | null;