import { Database, Statement } from "better-sqlite3";
import { BaseCheckpointSaver, Checkpoint, CheckpointListOptions, CheckpointMetadata, CheckpointTuple, PendingWrite, SerializerProtocol } from "@langchain/langgraph-checkpoint";
import { RunnableConfig } from "@langchain/core/runnables";

//#region src/index.d.ts
declare class SqliteSaver extends BaseCheckpointSaver {
  db: Database;
  protected isSetup: boolean;
  protected withoutCheckpoint: Statement;
  protected withCheckpoint: Statement;
  constructor(db: Database, serde?: SerializerProtocol);
  static fromConnString(connStringOrLocalPath: string): SqliteSaver;
  protected setup(): void;
  getTuple(config: RunnableConfig): Promise<CheckpointTuple | undefined>;
  list(config: RunnableConfig, options?: CheckpointListOptions): AsyncGenerator<CheckpointTuple>;
  put(config: RunnableConfig, checkpoint: Checkpoint, metadata: CheckpointMetadata): Promise<RunnableConfig>;
  putWrites(config: RunnableConfig, writes: PendingWrite[], taskId: string): Promise<void>;
  deleteThread(threadId: string): Promise<void>;
  protected migratePendingSends(checkpoint: Checkpoint, threadId: string, parentCheckpointId: string): Promise<void>;
}
//#endregion
export { SqliteSaver };
//# sourceMappingURL=index.d.ts.map