//#region src/resources.d.ts type RunResult = { changes: number; lastInsertRowid: number | bigint; }; type SqlDialect = "sqlite" | "postgres" | "mysql"; interface JuneDb { query(sql: string, params?: unknown[]): Promise; get(sql: string, params?: unknown[]): Promise; run(sql: string, params?: unknown[]): Promise; exec(sql: string): Promise; transaction(fn: (tx: JuneDb) => Promise): Promise; close(): Promise; readonly dialect?: SqlDialect; } interface JuneKv { get(key: string): Promise; put(key: string, value: unknown, opts?: { ttl?: number; }): Promise; delete(key: string): Promise; } interface JuneBlob { get(key: string): Promise; put(key: string, data: Uint8Array | string): Promise; delete(key: string): Promise; list(prefix?: string): Promise; } interface DbFactory { readonly kind: string; open(): Promise; } interface KvFactory { readonly kind: string; open(): Promise; } interface BlobFactory { readonly kind: string; open(): Promise; } type ResourceConfig = { db?: DbFactory; kv?: KvFactory; blob?: BlobFactory; }; type Resources = { db?: JuneDb; kv?: JuneKv; blob?: JuneBlob; }; //#endregion export { JuneKv as a, Resources as c, JuneDb as i, RunResult as l, DbFactory as n, KvFactory as o, JuneBlob as r, ResourceConfig as s, BlobFactory as t, SqlDialect as u };