import type CreativeEditorSDK from '@cesdk/cesdk-js';
import type { Source } from '@cesdk/cesdk-js';
import { type Config } from '@imgly/background-removal';
import { type FillProcessingMetadata } from '@imgly/plugin-utils';
interface IMGLYBackgroundRemovalProviderClientSide {
    type: '@imgly/background-removal';
    configuration?: Config;
}
interface CustomBackgroundRemovalProvider {
    type: 'custom';
    /**
     * Process the image file URI and return the processed image file URI with
     * the background removed.
     *
     * @param imageFileURI - The URI of the image file to process
     * @returns The processed image file URI
     */
    processImageFileURI: (imageFileURI: string) => Promise<string>;
    /**
     * Process the source set and return a new source set as the input source set.
     *
     * @param sourceSet - The source set to process. It is sorted so that the highest resolution image uri is first
     * @returns the new source set with backgrounds removed
     */
    processSourceSet: (sourceSet: Source[]) => Promise<Source[]>;
}
export type BackgroundRemovalProvider = IMGLYBackgroundRemovalProviderClientSide | CustomBackgroundRemovalProvider;
/**
 * Triggers the background removal process.
 */
export declare function processBackgroundRemoval(cesdk: CreativeEditorSDK, blockId: number, metadata: FillProcessingMetadata, provider: BackgroundRemovalProvider): Promise<void>;
export {};
