///
import { CompilerConfig, Build } from "../Compiler";
import { YarnCommandResult, FramerPackageJson, InstalledPackage, Typings, Dependencies } from "../types";
import { PackageConfig } from "../Package/Package";
import { ProjectPathsConfig, ProjectPaths } from "./Paths";
export { ProjectPaths };
export interface ProjectSetupConfig extends ProjectPathsConfig {
npmrcTemplate?: string;
env?: NodeJS.ProcessEnv;
}
export interface ProjectConfig extends ProjectSetupConfig, Omit {
compiler?: Omit;
builtInFramerVersion?: string;
}
export interface ProjectCreateConfig extends ProjectPathsConfig {
templatePath: string;
}
export declare class Project {
private compiler;
private pkg;
private latestDependenciesCache;
readonly path: string;
readonly paths: ProjectPaths;
private _hasBeenBuilt;
static load(config: ProjectConfig): Promise;
static create(config: ProjectCreateConfig): Promise;
private static prepareDir;
private static extract;
private constructor();
hasBeenBuilt(): boolean;
install(): Promise;
installFramer(version: string): Promise;
addDependency(dependency: string, version?: string): Promise;
addPeerDependency(dependency: string, version?: string): Promise;
addDevDependency(dependency: string, version?: string): Promise;
removeDependency(dependency: string): Promise;
getLatestPublishedVersion(): Promise;
getFramerLibraryVersion(): Promise;
build(): Promise;
buildDist(): Promise;
publish({ version, packageName, displayName, access, }: {
version?: string | null;
packageName?: string;
displayName?: string;
access?: "restricted" | "public";
}): Promise;
getDisplayName(): Promise;
getAuthor(): Promise;
getPackageName(): Promise;
getPackageVersion(): Promise;
getDependencies(): Promise | Required<"peerDependencies"> | Required<"devDependencies">>>;
getLatestDependencies(refresh: boolean): Promise;
getPackages(...args: string[]): Promise;
setDisplayName(name: string): Promise;
setAuthor(author: string): Promise;
setPackageName(name: string): Promise;
setPackageVersion(version: string): Promise;
private writeBuildOutputToDisk;
getTypingsForDependencies(): Promise;
getTypingsForPackage(name: string): Typings[];
getTypingsAroundMain(module: string, modulepath: string): Typings[];
setYarnEnv(env: NodeJS.ProcessEnv): void;
destroy(): void;
}