import { type Extension } from '@codemirror/state';
import { EditorView } from '@codemirror/view';
import type { File } from '../explorer';
import type { AssistantOptions } from '../assistant';
import type { ExplorerOptions } from '../explorer';
interface EditorConfig {
    /**
     * Initial content of the editor
     * @default ''
     */
    initialContent?: string;
    /**
     * Configuration for the file explorer
     * @example { initiallyOpen: true, width: '250px' }
     */
    explorer?: ExplorerOptions & {
        initialFiles?: File[];
    };
    /**
     * Configuration for the AI assistant
     * @example { initiallyOpen: true, width: '400px' }
     */
    assistant?: AssistantOptions;
    /**
     * Additional CodeMirror extensions
     */
    extensions?: Extension[];
}
export declare function useEditor(config?: EditorConfig): {
    ref: import("react").RefObject<HTMLDivElement | null>;
    view: EditorView | null;
};
export type { File, EditorConfig, AssistantOptions, ExplorerOptions };
