import { PopupModal, StyleProps } from './types'; /** * The host business's visual identity, as the embedding app knows it (Creaditor * resolves it from the minted token). Everything is optional: a host without a * business context passes nothing and the built-in defaults apply. * * Only `primaryColor` is consumed today — it becomes the submit button's fill. * `logoUrl` and `name` are carried so the host can pass its whole context in one * object and later features can read them without a breaking change. */ export interface BrandContext { /** Primary brand color, any CSS color. Defaults the submit button's fill. */ primaryColor?: string; /** Business logo URL. Not consumed yet. */ logoUrl?: string; /** Business display name. Not consumed yet. */ name?: string; } /** The submit button fill when there's no brand color: the stylesheet's own default. */ export declare const DEFAULT_SUBMIT_BACKGROUND = "#111827"; /** * The submit button fill that applies to `item`, for the builder's swatch * placeholder: the author's own color if they set one, else the brand color, * else black. */ export declare function submitBackground(style: StyleProps | undefined, brand?: BrandContext): string; /** * Fills the brand color into every submit button that hasn't been given one, * returning the same form object when there's nothing to change (so callers can * skip a no-op update with `!==`). * * Only *unset* colors are filled: an author who picked a color keeps it, and so * does a template that ships a deliberate one (the image-behind layouts use a * white CTA so it reads over the photo). The label color is set alongside the * fill, since a light brand color would leave the stylesheet's white text * unreadable. */ export declare function withBrandSubmitColor(popup: PopupModal, brand?: BrandContext): PopupModal; /** * A readable label color for a button fill: white on dark, near-black on light. * Uses the WCAG relative-luminance formula, and falls back to white for any * color it can't parse (named colors, `oklch()`, `var()`…) — that matches the * stylesheet's default pairing, so an unparseable value is no worse than today. */ export declare function readableLabelOn(background: string): string;