/** * Copyright (c) Microsoft Corporation. * Licensed under the MIT License. * * @format */ import { CopyOverride, DerivedOverride, DirectoryCopyOverride, PatchOverride, PlatformOverride } from './Override'; import FileRepository, { ReactFileRepository } from './FileRepository'; /** * Allows creation of overrides, taking care of guts such as hashing, version checking, etc. */ export default interface OverrideFactory { createPlatformOverride(file: string): Promise; createCopyOverride(file: string, baseFile: string, issue?: number): Promise; createDerivedOverride(file: string, baseFile: string, issue?: number): Promise; createPatchOverride(file: string, baseFile: string, issue?: number): Promise; createDirectoryCopyOverride(directory: string, baseDirectory: string, issue?: number): Promise; } /** * Concrete implementation of an OverrideFactory */ export declare class OverrideFactoryImpl implements OverrideFactory { private readonly reactRepo; private readonly overrideRepo; constructor(reactRepo: ReactFileRepository, overrideRepo: FileRepository); createPlatformOverride(file: string): Promise; createCopyOverride(file: string, baseFile: string, issue?: number): Promise; createDerivedOverride(file: string, baseFile: string, issue?: number): Promise; createPatchOverride(file: string, baseFile: string, issue?: number): Promise; createDirectoryCopyOverride(directory: string, baseDirectory: string, issue?: number): Promise; private checkOverrideExists; private getBaseInfo; }