import { type OpenAPIV3 } from 'openapi-types';
import type CreativeEditorSDK from '@cesdk/cesdk-js';
import type { CreativeEngine } from '@cesdk/cesdk-js';
import { VideoOutput, RenderCustomProperty, GetBlockInput, Provider, Middleware } from '@imgly/plugin-ai-generation-web';
import { VideoQuickActionSupportMap } from '../types';
export type BytedanceProviderConfiguration = {
    proxyUrl: string;
    debug?: boolean;
    middlewares?: Middleware<any, any>[];
    /**
     * @deprecated Use `middlewares` instead.
     */
    middleware?: Middleware<any, any>[];
    history?: false | '@imgly/local' | '@imgly/indexedDB' | (string & {});
    supportedQuickActions?: {
        [quickActionId: string]: Partial<VideoQuickActionSupportMap<any>[string]> | false | null;
    };
};
interface CreateProviderOptions<I extends Record<string, any>> {
    modelId: string;
    providerId: string;
    name: string;
    schema: OpenAPIV3.Document;
    inputReference: string;
    useFlow?: 'placeholder' | 'generation-only';
    initialize?: (context: {
        cesdk?: CreativeEditorSDK;
        engine: CreativeEngine;
    }) => void;
    renderCustomProperty?: RenderCustomProperty;
    supportedQuickActions?: VideoQuickActionSupportMap<I>;
    getBlockInput: GetBlockInput<'video', I>;
    mapInput: (input: I) => Record<string, unknown>;
    middleware?: Middleware<I, VideoOutput>[];
    headers?: Record<string, string>;
    cesdk?: CreativeEditorSDK;
}
declare function createVideoProvider<I extends Record<string, any> & {
    image_url?: string;
    last_image_url?: string;
}>(options: CreateProviderOptions<I>, config: BytedanceProviderConfiguration): Provider<'video', I, VideoOutput>;
export default createVideoProvider;
