import { MemoryFS } from '@teambit/any-fs';
import type { AbstractVinyl } from '@teambit/component.sources';
/**
 * The virtual component filesystem
 */
export default class ComponentFS extends MemoryFS {
    /**
     * array of all fs files.
     */
    readonly files: AbstractVinyl[];
    constructor(
    /**
     * array of all fs files.
     */
    files: AbstractVinyl[]);
    /**
     * hash to represent all contents within this filesystem volume.
     */
    get hash(): string;
    /**
     * filter all component files by regex.
     */
    byRegex(extension: RegExp): AbstractVinyl[];
    /**
     * filter all files using an array of glob patterns.
     */
    byGlob(patterns: string[]): AbstractVinyl[];
    toObject(): {
        path: string;
        contents: Buffer;
    }[];
    static fromVinyls(files: AbstractVinyl[]): ComponentFS;
}
