/**
 * Browser-tab favicon helpers for the admin SPA.
 *
 * The admin runs as a client app, so the favicon shown in the browser tab is
 * whatever `<link rel="icon">` the document currently has. The Settings →
 * Appearance favicon (stored in the CMS) is the source of truth, so the admin
 * applies it at runtime instead of relying on the host app's `<head>` wiring.
 */
/**
 * Window event the admin dispatches after the brand (logo/favicon) is saved so
 * live surfaces — the browser tab favicon — refresh without a full reload.
 */
export declare const BRAND_UPDATED_EVENT = "actuate:brand-updated";
export interface FaviconUpdate {
    /** The `<link rel="icon">` element that is now active. */
    link: HTMLLinkElement;
    /** True when we created the link (so callers can remove it on cleanup). */
    created: boolean;
    /** The href the link had before this update — for restore on cleanup. */
    previousHref: string | null;
}
/**
 * Point the browser tab favicon at `href`, creating the `<link rel="icon">` when
 * the document doesn't already have one. Returns enough state for the caller to
 * restore/remove it on cleanup. Client-only — call inside an effect.
 */
export declare function setDocumentFavicon(href: string, type?: string | null): FaviconUpdate;
//# sourceMappingURL=favicon.d.ts.map