/**
 * 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 useOembed: (url: string, maxHeight?: string, maxWidth?: string) => {
    isLoading: boolean;
    error: string;
    oembed: SupportedEmbedData | undefined;
};
