import { StateField, Compartment } from '@codemirror/state';
import { EditorView, ViewPlugin, ViewUpdate } from '@codemirror/view';
export interface File {
    name: string;
    content: string;
}
interface FileExplorerState {
    files: File[];
    selectedFile: string | null;
    expandedDirs: Set<string>;
    projectName?: string;
}
export declare const languageCompartment: Compartment;
export declare const selectFileEffect: import("@codemirror/state").StateEffectType<string>;
export declare const updateFilesEffect: import("@codemirror/state").StateEffectType<File[]>;
export declare const toggleDirEffect: import("@codemirror/state").StateEffectType<string>;
export declare const setProjectNameEffect: import("@codemirror/state").StateEffectType<string>;
export declare const fileExplorerState: StateField<FileExplorerState>;
export declare const fileExplorerPanelSpec: {
    id: string;
    create(view: EditorView): HTMLElement;
    update(view: EditorView): void;
};
export declare const fileExplorerPlugin: ViewPlugin<{
    update(update: ViewUpdate): void;
}>;
export {};
