/** * Normalized cell and stable encoding types. * * These types are the foundation for cross-runtime fingerprinting and event * identity. They contain no Google SDK, SQLite, or platform-specific types. */ import { NORMALIZED_CELL_KINDS, type CellObservationKind } from "./constants.js"; import type { StableCodecDateValue, StableCodecValue } from "@hikoutei/kohkai"; import type { Presence } from "../state/types.js"; export type { CellObservationKind, NormalizedCellKind } from "./constants.js"; /** A date encoded as a fixed-width UTC ISO-8601 string. */ export type DateValue = StableCodecDateValue; /** * A normalized scalar value that can be deterministically encoded. * * `null` represents an empty cell. An explicit empty string is * `{ kind: "string", value: "" }`. */ export type NormalizedCell = null | { readonly kind: typeof NORMALIZED_CELL_KINDS.STRING; readonly value: string; } | { readonly kind: typeof NORMALIZED_CELL_KINDS.NUMBER; readonly value: number; } | { readonly kind: typeof NORMALIZED_CELL_KINDS.BOOLEAN; readonly value: boolean; } | DateValue; /** * Physical Sheet metadata retained by the internal observation/provider path. * This compatibility type is intentionally not part of the public root API. */ export interface CellObservation { readonly cellKind: CellObservationKind; readonly normalizedCell: NormalizedCell; readonly formulaHash: Presence; readonly mergeRange: Presence; readonly errorCode: Presence; } /** * Any value that stable_encode_v1 can encode: scalars, arrays, dates, and * objects with string keys. Objects with `kind: "date"` are encoded as dates, * not as plain objects. */ export type StableValue = StableCodecValue; //# sourceMappingURL=types.d.ts.map