export interface ProjectionIssue {
    readonly code: 'projection-declaration-changed' | 'projection-declaration-unreadable';
    readonly field: string;
    readonly message: string;
}
export interface ProjectionSnapshot {
    readonly fields: ReadonlyMap<string, string>;
    readonly issues: readonly ProjectionIssue[];
}
/** Capture before calling an adapter: it might mutate the original result.
 * Only reserved declarations and the framework's documented wrapper spine are
 * inspected. Raw facts/series/rows and arbitrary nested objects are not read. */
export declare function snapshotProjectionSemantics(result: unknown): ProjectionSnapshot;
/** Exact preservation of original fields; unrelated new declarations may be added. */
export declare function projectionSemanticsIssues(before: ProjectionSnapshot, after: unknown): readonly ProjectionIssue[];
