declare type Endpoint = { schemes: string[]; url: string; discovery: boolean; }; export declare type Provider = { provider_name: string; provider_url: string; endpoints: Endpoint[]; }; /** * Basic data structure of every oembed response see https://oembed.com/ */ export interface OembedData { type: "rich" | "video" | "photo" | "link"; version: string; /** A text title, describing the resource. */ title?: string; /** The name of the author/owner of the resource. */ author_name?: string; /** A URL for the author/owner of the resource. */ author_url?: string; /** The name of the resource provider. */ provider_name?: string; /** The url of the resource provider. */ provider_url?: string; /** The suggested cache lifetime for this resource, in seconds. Consumers may choose to use this value or not. */ cache_age?: string | number; /** * A URL to a thumbnail image representing the resource. * The thumbnail must respect any maxwidth and maxheight parameters. * If this parameter is present, thumbnail_width and thumbnail_height must also be present. */ thumbnail_url?: string; /** * The width of the optional thumbnail. * If this parameter is present, thumbnail_url and thumbnail_height must also be present. */ thumbnail_width?: number; /** * The height of the optional thumbnail. * If this parameter is present, thumbnail_url and thumbnail_width must also be present. */ thumbnail_height?: number; } export interface SupportedEmbedData extends OembedData { /** * The HTML required to display the resource. * The HTML should have no padding or margins. * Consumers may wish to load the HTML in an off-domain iframe to avoid XSS vulnerabilities. * The markup should be valid XHTML 1.0 Basic. */ html: string; /** The width in pixels required to display the HTML. */ width: number; /** The height in pixels required to display the HTML. */ height: number; } export declare const useEmbed: (content: string, maxHeight?: string, maxWidth?: string) => { isLoading: boolean; error: string; embedContent: string | undefined; }; export {};