/**
 * Initializer for {@link FlushResult}.
 */
export interface FlushResultInit {
    readonly rootOid: string | null;
    readonly blobsWritten: number;
    readonly treesWritten: number;
    readonly bytesWritten: number;
}
/**
 * Summary of what a single `TrieFlusher.flush` call emitted.
 *
 * Fields:
 *
 * - `rootOid` — the post-flush root OID. `null` only if the
 *   source trie was empty and the dirty set contained no pages.
 * - `blobsWritten` — number of leaf blobs written to the store.
 * - `treesWritten` — number of branch trees written to the store.
 * - `bytesWritten` — total bytes written across all leaf blobs
 *   (branch-tree byte counts are not tracked at this layer; the
 *   adapter encodes them differently per host).
 *
 * All fields are validated in the constructor: non-negative
 * integers, OID either a non-empty string or null. The instance
 * is frozen on exit.
 */
export default class FlushResult {
    readonly rootOid: string | null;
    readonly blobsWritten: number;
    readonly treesWritten: number;
    readonly bytesWritten: number;
    constructor(init: FlushResultInit);
    /**
     * True when the flush emitted zero store writes.
     */
    isClean(): boolean;
}
