/** Extract the complete root element body for Dreamer XML manifests.
 *  A missing closing root is treated as truncation and rejects the whole output,
 *  so a length-capped model response can never apply a prefix of mutations. */
export declare function extractCompleteManifestBody(text: string, rootName: string): string;
export declare function assertNoDuplicateManifestIds(ids: readonly number[], rootName: string): void;
export declare function assertManifestCoversExactly(ids: readonly number[], expectedIds: ReadonlySet<number>, rootName: string): void;
//# sourceMappingURL=manifest-parser.d.ts.map