import { Fs as IFs } from '../type';
import { OverlayFs } from '../entity/overlayfs';
import { Modules } from '../../module';
/**
 * RootMapping represents a filesystem mount mapping
 * TypeScript version of Go's RootMapping
 */
export declare class RootMapping {
    readonly from: string;
    readonly to: string;
    readonly toBase: string;
    constructor(from: string, to: string, toBase?: string);
    /**
     * Create a filesystem for this mapping
     */
    fs(sourceProject: IFs): IFs;
}
/**
 * FilesystemsCollector value object
 * TypeScript version of Go's FilesystemsCollector
 */
export declare class FilesystemsCollector {
    readonly sourceProject: IFs;
    overlayMountsPrompt: OverlayFs;
    overlayMountsWorkflow: OverlayFs;
    overlayMountsContent: OverlayFs;
    overlayMountsLayouts: OverlayFs;
    overlayMountsStatics: OverlayFs;
    overlayMountsAssets: OverlayFs;
    constructor(sourceProject: IFs);
    /**
     * Collect filesystem mounts from modules
     */
    collect(mods: Modules): Promise<void>;
    private isPrompts;
    private isWorkflows;
    private isContent;
    private isLayouts;
    private isStatics;
    private isAssets;
    private absPathify;
}
/**
 * Create new FilesystemsCollector
 */
export declare function newFilesystemsCollector(sourceProject: IFs): FilesystemsCollector;
//# sourceMappingURL=filesystemscollector.d.ts.map