interface Patchable {
    patch: () => void;
    path: string;
}
interface FileUpdatable extends Patchable {
    contents: string;
    addBefore: (line: string | RegExp, add: string) => void;
    addAfter: (line: string | RegExp, add: string) => void;
    hasLine: (line: string | RegExp) => boolean;
    getPaddingFromString: (searchString: string) => string;
    getPaddingAfterStringToTheNextString: (searchString: RegExp) => string;
    deleteLine: (line: string | RegExp) => void;
}
declare const patchFiles: (...files: Array<() => Promise<Patchable>>) => Promise<void>;
declare const NoopFile: {
    path: string;
    contents: string;
    patch: () => void;
    hasLine: (_: string) => boolean;
    getPaddingFromString: (_searchString: string) => string;
    getPaddingAfterStringToTheNextString: (_searchString: RegExp) => string;
    addBefore: (_line: string, _add: string) => void;
    addAfter: (_line: string, _add: string) => void;
    deleteLine: (_line: string) => void;
};
declare const getFileContents: (path: string) => FileUpdatable;
export { type Patchable, type FileUpdatable, patchFiles, NoopFile, getFileContents, };
