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