import type { FileSystemManager } from "../../file-system-manager.js";
import type { SourceTracker } from "../../source-tracker.js";
import type { SbElement } from "@superblocksteam/library-shared/types";
export declare class FileSystemInterface {
    private sourceTracker;
    private fileSystemManager;
    setSourceTracker(sourceTracker: SourceTracker | undefined): void;
    setFileSystemManager(fileSystemManager: FileSystemManager): void;
    getFileSystemManager(): FileSystemManager;
    getSourceTracker(): SourceTracker;
    getCurrentFiles(): Record<string, import("../../source-tracker.js").FileMeta>;
    getElementToFilePathMap(): Record<`SB-${string}`, string> | undefined;
    getElementToFilePath(el: SbElement): string;
    getElementToLocationMap(): Record<`SB-${string}`, import("@babel/traverse").NodePath<import("@babel/types").Node>> | undefined;
    getElementToLocation(el: SbElement): import("@babel/traverse").NodePath<import("@babel/types").Node>;
    getScopeIdForPage(pageName: string): string;
    getAndFlushChanges(): Promise<{
        fileName: string;
        source: string;
        kind: import("../../source-tracker.js").SourceKind;
    }[]>;
    setProperties(...args: Parameters<SourceTracker["setProperties"]>): void;
    deleteProperties(...args: Parameters<SourceTracker["deleteProperties"]>): Promise<void>;
    isCustomComponent(elementId: string): boolean;
}
//# sourceMappingURL=file-system-interface.d.ts.map