import { type ClickHouseExecutor } from '@chkit/clickhouse'; import type { ChxConfig, Snapshot } from '@chkit/core'; import type { TableScope } from '../../runtime/table-scope.js'; import { type ObjectDriftDetail, type TableDriftDetail } from './compare.js'; export interface DriftPayload { scope?: TableScope; snapshotFile: string; expectedCount: number; actualCount: number; drifted: boolean; databaseMissing?: boolean; database?: string; missing: string[]; extra: string[]; kindMismatches: Array<{ expected: string; actual: string; object: string; }>; objectDrift: ObjectDriftDetail[]; tableDrift: TableDriftDetail[]; } /** * Decide whether a schema has drifted. Objects that exist in ClickHouse but are * not in the schema (`extra_object` → `extraCount`) are NOT drift by default: * on a shared database every unmanaged table would otherwise break the CI gate. * Opt in with `check.failOnExtraObjects` to treat them as drift (e.g. when chkit * owns the whole database). */ export declare function computeDrifted(input: { missingCount: number; kindMismatchCount: number; tableDriftCount: number; extraCount: number; failOnExtraObjects: boolean; }): boolean; export declare function buildDriftPayload(config: ChxConfig, metaDir: string, snapshot: Snapshot, scope?: TableScope, executor?: ClickHouseExecutor): Promise; //# sourceMappingURL=payload.d.ts.map