import { Dict } from '@chakra-ui/utils';
import { default as React } from 'react';
import { HeaderProps } from './components/header';
import { FocusObjects, InputFileElement, RequiredMetadata, Signer } from './store';
export interface ImageKitEditorRef {
    loadImage: (image: string | InputFileElement) => void;
    loadImages: (images: Array<string | InputFileElement>) => void;
    setCurrentImage: (imageSrc: string) => void;
}
interface EditorProps<Metadata extends RequiredMetadata = RequiredMetadata> {
    theme?: Dict;
    initialImages?: Array<string | InputFileElement<Metadata>>;
    signer?: Signer<Metadata>;
    onAddImage?: () => void;
    exportOptions?: HeaderProps<Metadata>["exportOptions"];
    focusObjects?: ReadonlyArray<FocusObjects>;
    onClose: (args: {
        dirty: boolean;
        destroy: () => void;
    }) => void;
}
type ImageKitEditorComponent = <M extends RequiredMetadata = RequiredMetadata>(props: EditorProps<M> & React.RefAttributes<ImageKitEditorRef>) => React.ReactElement | null;
export declare const ImageKitEditor: ImageKitEditorComponent;
export type { EditorProps as ImageKitEditorProps };
