import type { ReactNode } from 'react';
import type { ApiClient } from '@riverbankcms/api/request';
import { type MediaEditorProviderProps } from './provider';
type BaseProviderProps = {
    siteId: string;
    children: ReactNode;
};
type CreateMediaEditorProviderOptions<P extends BaseProviderProps> = {
    resolveApiClient: (props: P) => ApiClient;
    resolveProviderProps?: (props: P) => Partial<Omit<MediaEditorProviderProps, 'apiClient' | 'children' | 'siteId'>>;
    augmentRequest?: MediaEditorProviderProps['augmentRequest'];
    getPublicUrl?: MediaEditorProviderProps['getPublicUrl'];
    bucket?: MediaEditorProviderProps['bucket'];
    uploaderOptions?: MediaEditorProviderProps['uploaderOptions'];
};
export declare function createMediaEditorProvider<P extends BaseProviderProps>({ resolveApiClient, resolveProviderProps, augmentRequest, getPublicUrl, bucket, uploaderOptions, }: CreateMediaEditorProviderOptions<P>): (props: P) => import("react/jsx-runtime").JSX.Element;
export {};
