import * as Effect from "../Effect.ts"; import * as Layer from "../Layer.ts"; import type * as Scope from "../Scope.ts"; import * as SqlClient from "../sql/SqlClient.ts"; import type * as SqlError from "../sql/SqlError.ts"; import * as EventLogEncryption from "./EventLogEncryption.ts"; import * as EventLogServerEncrypted from "./EventLogServerEncrypted.ts"; /** * Creates encrypted event-log server `Storage` backed by SQL. * * **Details** * * It persists the server remote id, session authentication bindings, and encrypted * batches in dialect-specific tables, creating per-identity/store batch and entry * id tables as needed. * * **Gotchas** * * Storage does not retry sequence conflicts between competing instances. * `EventLog.runRemote` retries failed writes; direct `EventLogRemote.write` * callers must retry failures other than Forbidden themselves. Live notifications * are local to each storage instance; clients on other instances must reconnect * to read those writes. * * @stability unstable * @category constructors * @since 4.0.0 */ export declare const makeStorage: (options?: { readonly entryTablePrefix?: string; readonly remoteIdTable?: string; }) => Effect.Effect; /** * Provides encrypted server `Storage` using the SQL-backed implementation. * * @stability unstable * @category layers * @since 4.0.0 */ export declare const layerStorage: (options?: { readonly entryTablePrefix?: string; readonly remoteIdTable?: string; }) => Layer.Layer; /** * Provides SQL-backed encrypted server `Storage` and supplies the default Web * Crypto `EventLogEncryption` layer. * * @stability unstable * @category layers * @since 4.0.0 */ export declare const layerStorageSubtle: (options?: { readonly entryTablePrefix?: string; readonly remoteIdTable?: string; }) => Layer.Layer; //# sourceMappingURL=SqlEventLogServerEncrypted.d.ts.map