import { Effect, FileSystem, Path } from "effect";
import type { ThreadRow } from "./types.js";
export type LoadOptions = {
codexHome?: string;
includeTranscripts?: boolean;
};
declare const CodexDatabaseNotFound_base: new = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
readonly _tag: "CodexDatabaseNotFound";
} & Readonly;
export declare class CodexDatabaseNotFound extends CodexDatabaseNotFound_base<{
readonly path: string;
}> {
get message(): string;
}
export declare const loadCodexData: (options?: LoadOptions | undefined) => Effect.Effect<{
paths: import("./types.js").CodexPaths;
threads: ThreadRow[];
transcripts: import("./types.js").TranscriptMetadata[];
transcriptsByThreadId: Map;
}, CodexDatabaseNotFound | import("effect/PlatformError").PlatformError | import("effect/unstable/sql/SqlError").SqlError, FileSystem.FileSystem | Path.Path>;
export declare const readThreads: (stateDbPath: string) => Effect.Effect;
export declare const readTranscripts: (sessionsDir: string) => Effect.Effect;
export {};