import type { MonolithConditionalImportConfig, MonolithConfig, MonolithModuleConfig } from './MonolithConfig.ts';
/**
 * Layout generation for `compile.mode: 'monolith'` — a 1:1 port of the
 * sdk-js `scripts/sdk-modules.mjs` + `sync-sdk-layout.mjs` logic. The
 * builders are kept byte-faithful (ordering, sorting, header handling) so
 * migrated packages produce identical generated files and identical dist.
 */
export declare const GENERATED_HEADER = "// Generated by xy monolith layout sync (package-sync-layout) \u2014 do not edit by hand.\n";
export declare const DEFAULT_MONOLITH_PLATFORMS: readonly ["neutral", "node", "browser"];
export declare function srcPathToDistPath(srcPath: string): string;
export declare function buildConditionalDistPaths(conditionalImports?: Record<string, MonolithConditionalImportConfig>): Record<string, Record<string, string>>;
export declare function buildAliasDistPaths(aliasImports?: Record<string, string>): Record<string, string>;
/** Resolves a `#hash` import specifier to its dist path for a platform. */
export declare function hashToDistPath(spec: string, platform: string, config: MonolithConfig): string | null;
export declare function buildPlatformShimDirs(platformEntries?: Record<string, Record<string, string>>): Record<string, string>;
export declare function buildPackageImports(modules: MonolithModuleConfig[], config: MonolithConfig): Record<string, string | Record<string, string>>;
export declare function buildTsconfigPaths(modules: MonolithModuleConfig[], config: MonolithConfig): Record<string, string[]>;
export declare function buildIndexTs(modules: MonolithModuleConfig[], config: MonolithConfig): string;
export declare function buildModelTs(modules: MonolithModuleConfig[]): string;
export declare function buildModuleShim(mod: MonolithModuleConfig): string;
/** Generated module body for facade modules with `reexport` targets. */
export declare function buildModuleReexportIndex(mod: MonolithModuleConfig): string;
export declare function buildModelShim(mod: MonolithModuleConfig): string;
export declare function buildSubpathShim(mod: MonolithModuleConfig, sub: string): string;
export declare function buildPlatformShim(target: string): string;
export declare function listDistPlatforms(config: MonolithConfig): string[];
/** True when the package publishes a type-only model barrel (`src/model.ts`). */
export declare function monolithHasModelBarrel(config: MonolithConfig): boolean;
export interface MonolithSyncOptions {
    /** Validate only — report missing/out-of-date generated files, write nothing. */
    check?: boolean;
}
export interface MonolithSyncResult {
    ok: boolean;
    /** Human problem lines (check mode), package-relative. */
    problems: string[];
}
/**
 * Regenerates (or, in check mode, validates) every generated layout file:
 * package.json `imports`, tsconfig `paths`, `src/index.ts`, `src/model.ts`,
 * per-module subpath and model shims, and per-platform entry shims.
 * Idempotent — a second run writes nothing new.
 */
export declare function syncMonolithLayout(packageDir: string, config: MonolithConfig, options?: MonolithSyncOptions): MonolithSyncResult;
//# sourceMappingURL=monolithCompileLayout.d.ts.map