/**
 * @license
 * Copyright 2022-2026 Greg Lauckhart <greg@lauckhart.com>
 * SPDX-License-Identifier: Apache-2.0
 */
import { Package } from "../util/package.js";
import { Graph } from "./graph.js";
/**
 * Ensure base tsconfig templates exist in the workspace root.  Copies from the tools package if missing.  Pass
 * {@link force} to overwrite existing files (for the `configure` command).
 */
export declare function ensureTsconfigTemplates(workspace: Package, force?: boolean): Promise<void>;
/**
 * Unfortunately typescript's "project references" are redundant with package.json dependencies.  We don't use them for
 * build but there are still some advantages to maintaining them so we just ensure they're in sync during workspace
 * builds.
 *
 * One discussion on the topic: https://github.com/microsoft/TypeScript/issues/25376
 *
 * Pass {@link force} (via `nacho-build configure`) to also rewrite the `extends` field of each subproject tsconfig;
 * otherwise `extends` is preserved so users can customize it.
 */
export declare function syncAllTsconfigs(graph: Graph, force?: boolean): Promise<void>;
export declare function syncPackageTsconfigs(_graph: Graph, node: Graph.Node, force?: boolean): Promise<void>;
//# sourceMappingURL=tsconfig.d.ts.map