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