/** * @license * Copyright 2022-2026 Matter.js Authors * SPDX-License-Identifier: Apache-2.0 */ import { Format } from "esbuild"; import { Hash } from "node:crypto"; import { Package } from "../util/package.js"; export declare const BUILD_INFO_LOCATION = "build/info.json"; export declare const COMPILED_CONFIG_PATH = "build/build.config.js"; export interface BuildInformation { /** * Time of last build. Compared to source files to determine whether build is dirty. */ timestamp?: string; /** * API signature. Used by dependents to determine whether they need to rebuild after we do. */ apiSha?: string; /** * API signature of each dependency. Compared to apiSha of each dependency during dirty detection. */ dependencyApiShas?: Record; } export declare class Project { #private; pkg: Package; constructor(source?: Package | string); buildSource(format: Format): Promise; buildTests(format: Format): Promise; clean(): Promise; get hasDeclarations(): boolean; hashDeclarations(apiSha: Hash): Promise; recordBuildInfo(info: BuildInformation): Promise; configure(): Promise; /** * Copy files into dist for supported formats. */ copyToDist(source: string, dest: string): Promise; } export declare namespace Project { interface Context { project: Project; } interface Config { startup?: (context: Context) => Promise; before?: (context: Context) => Promise; after?: (context: Context) => Promise; } } //# sourceMappingURL=project.d.ts.map