/**
 * Embed/video provider allowlist + URL parsing for the `embed` section.
 *
 * Only YouTube, Vimeo, and Loom are allowed; each source URL is mapped to its
 * privacy-friendly iframe `src`. Parsing is deterministic and pure (no network)
 * so the section validator (cms-core) and the public renderer (sections-react)
 * agree on exactly what is embeddable — an arbitrary URL can never reach an
 * `<iframe>`.
 */
export type EmbedProvider = 'youtube' | 'vimeo' | 'loom';
export interface ParsedEmbed {
    provider: EmbedProvider;
    /** Provider-specific id extracted from the source URL. */
    id: string;
    /** The iframe `src` to render. */
    embedUrl: string;
}
export declare const EMBED_PROVIDER_LABEL: Record<EmbedProvider, string>;
/**
 * Resolve a pasted video URL to a provider + iframe `src`, or `null` when the
 * URL is not an allowed provider (or is malformed).
 */
export declare function parseEmbed(raw: unknown): ParsedEmbed | null;
//# sourceMappingURL=embed.d.ts.map