/** * @license * Copyright 2022-2026 Matter.js Authors * SPDX-License-Identifier: Apache-2.0 */ import type { Directory } from "../../fs/Directory.js"; import { type WalCommitId, type WalOp } from "./WalCommit.js"; /** * Manages the current WAL segment and writes commits. */ export declare class WalWriter { #private; constructor(walDir: Directory, options?: WalWriter.Options); /** * The segment number currently being written to. */ get currentSegment(): number; /** * Write a commit to the WAL, returning its commit ID and timestamp. */ write(ops: WalOp[]): Promise<{ id: WalCommitId; ts: number; }>; /** * Close the current file handle. */ close(): Promise; } export declare namespace WalWriter { interface Options { /** Storage name, used in file handle leak diagnostics. */ name?: string; /** Maximum segment size in bytes before rotation. Default 16 MB. */ maxSegmentSize?: number; /** Whether to fsync after each write. Default true. */ fsync?: boolean; /** Called after a segment is rotated, with the closed segment number. */ onRotate?: (closedSegment: number) => void; } } //# sourceMappingURL=WalWriter.d.ts.map