/// <reference types="node" />
import fs from 'fs-extra';
import Vinyl from 'vinyl';
import { FileConstructor } from './vinyl-types';
import { PathOsBased } from '../../../utils/path';
import Source from '../../../scope/models/source';
declare type AbstractVinylProps = {
    cwd: PathOsBased;
    path: PathOsBased;
    base: PathOsBased;
    contents: Buffer;
};
declare const AbstractVinyl_base: FileConstructor;
export default class AbstractVinyl extends AbstractVinyl_base {
    override: boolean;
    verbose: boolean;
    static fromVinyl(vinyl: Vinyl): AbstractVinyl;
    get relativeDir(): string;
    updatePaths({ newBase, newRelative, newCwd }: {
        newBase?: string;
        newRelative?: string;
        newCwd?: string;
    }): void;
    write(writePath?: string, override?: boolean, verbose?: boolean): Promise<string | null | undefined>;
    toReadableString(): {
        relativePath: string;
        content: string;
    };
    static loadFromParsedStringBase(parsedString: any): AbstractVinylProps;
    toSourceAsLinuxEOL(): Source;
    _getStatIfFileExists(): Promise<fs.Stats | null | undefined>;
}
export declare function _verboseMsg(filePath: string, force: boolean): string;
export {};
