/** * TemplateStore (v2.17 + v2.19 + v2.20 cipher) * * SQLite-backed CRUD for parameterized SQL templates. * Uses v2.16 multi-backend SQLite, transparently switching to SQLCipher * when a non-empty cipherKey is provided (v2.20). */ import type { Template, TemplateInput } from './query-analyzer-types.js'; export interface TemplateStoreOptions { /** * v2.20: SQLCipher key for transparent encryption of templates.db. * Undefined/empty → plaintext (v2.17-v2.19 behavior). */ cipherKey?: string; } export declare class TemplateStore { readonly dbPath: string; private conn; private initPromise; private cipherKey?; private _encrypted; /** v2.20: true after init() once the backend is known to be SQLCipher. */ get encrypted(): boolean; constructor(dbPath: string, options?: TemplateStoreOptions); private init; save(input: TemplateInput, createdBy?: string): Promise