import type { EntryRecord } from './generateEntries.js'; export type ExportConditions = { types?: string; import?: string; require?: string; }; export type ExportsMap = Record; export type ExportFormat = 'es' | 'cjs'; export type ExportsOptions = { /** Absolute source directory used to map declaration output paths. */ sourceRoot?: string; /** JavaScript output directory relative to the package root. @default 'dist' */ outDir?: string; /** Declaration output directory relative to the package root. Defaults to `outDir`. */ typesOutDir?: string; /** JavaScript formats emitted by the build. @default ['es', 'cjs'] */ formats?: readonly ExportFormat[]; /** Include TypeScript declaration conditions. @default true */ includeTypes?: boolean; /** ES module file extension. @default '.js' */ importExtension?: string; /** CommonJS file extension. @default '.cjs' */ requireExtension?: string; }; export type ExportsComparisonOptions = { /** Ignore export keys not managed by the generated map. @default false */ allowExtra?: boolean; }; export declare function entryRecordToExports(entries: EntryRecord, options?: ExportsOptions): ExportsMap; export declare function readPackageJson(rootDir: string): Record; export declare function writePackageJson(rootDir: string, pkg: Record): void; export declare function exportsAreSynced(current: unknown, expected: Record, options?: ExportsComparisonOptions): boolean; export type ExportsDiff = { missing: string[]; extra: string[]; changed: string[]; }; export declare function diffExports(current: unknown, expected: Record): ExportsDiff; export declare function mergeExports(current: unknown, expected: ExportsMap, options?: { prune?: boolean; }): Record; //# sourceMappingURL=syncExports.d.ts.map