import { SugaredFieldProps } from '@contember/react-binding';
import { ReactNode } from 'react';
import type { SugaredDiscriminateBy } from '../../../../discrimination';
import type { EmbedHandler, PopulateEmbedDataOptions } from '../core';
declare class YouTubeEmbedHandler implements EmbedHandler<string> {
    private readonly options;
    readonly debugName = "YouTube";
    readonly discriminateBy: SugaredDiscriminateBy;
    constructor(options: YouTubeEmbedHandler.Options);
    staticRender(): import("react/jsx-runtime").JSX.Element;
    handleSource(source: string, url: URL | undefined): undefined | string;
    renderEmbed(): string | number | boolean | Iterable<ReactNode> | import("react/jsx-runtime").JSX.Element | null | undefined;
    populateEmbedData({ entity, embedArtifacts }: PopulateEmbedDataOptions<string>): void;
}
declare namespace YouTubeEmbedHandler {
    interface Options {
        render?: () => ReactNode;
        youTubeIdField: SugaredFieldProps['field'];
        discriminateBy: SugaredDiscriminateBy;
    }
    interface RendererOptions {
        youTubeIdField: SugaredFieldProps['field'];
    }
    const Renderer: React.NamedExoticComponent<RendererOptions>;
}
export { YouTubeEmbedHandler };
//# sourceMappingURL=YouTubeEmbedHandler.d.ts.map