import type { Key, SessionHandle } from '../crypto'; import type { KeyAlgs } from '../enums'; export declare class Session { private _handle?; private isTxn; constructor({ handle, isTxn }: { handle?: SessionHandle; isTxn: boolean; }); get isTransaction(): boolean; get handle(): SessionHandle | undefined; count({ category, tagFilter }: { category: string; tagFilter?: Record; }): Promise; fetch({ category, name, forUpdate, isJson, }: { category: string; name: string; forUpdate?: boolean; isJson?: boolean; }): Promise; fetchAll({ category, forUpdate, limit, tagFilter, isJson, }: { category: string; tagFilter?: Record; limit?: number; forUpdate?: boolean; isJson?: boolean; }): Promise; insert({ category, name, expiryMs, tags, value, }: { category: string; name: string; value: string | Record; tags?: Record; expiryMs?: number; }): Promise; replace({ category, name, expiryMs, tags, value, }: { category: string; name: string; value: string | Record; tags?: Record; expiryMs?: number; }): Promise; remove({ category, name }: { category: string; name: string; }): Promise; removeAll({ category, tagFilter }: { category: string; tagFilter?: Record; }): Promise; insertKey({ name, key, expiryMs, metadata, tags, }: { name: string; key: Key; metadata?: string; tags?: Record; expiryMs?: number; }): Promise; fetchKey({ name, forUpdate }: { name: string; forUpdate?: boolean; }): Promise; fetchAllKeys({ forUpdate, algorithm, limit, tagFilter, thumbprint, }: { algorithm?: KeyAlgs; thumbprint?: string; tagFilter?: Record; limit?: number; forUpdate?: boolean; }): Promise; updateKey({ name, expiryMs, metadata, tags, }: { name: string; metadata?: string; tags?: Record; expiryMs?: number; }): Promise; removeKey({ name }: { name: string; }): Promise; /** * @note also closes the session */ commit(): Promise; rollback(): Promise; close(): Promise; }