import type { JaitDB } from "../db/connection.js";
import { userSecrets } from "../db/schema.js";
export type UserSecretRecord = Omit<typeof userSecrets.$inferSelect, "encryptedValue" | "iv" | "authTag">;
export interface SaveUserSecretParams {
    userId?: string | null;
    type: string;
    key: string;
    label: string;
    value: string;
}
export declare class UserSecretService {
    private readonly db;
    private readonly key;
    constructor(db: JaitDB, encryptionSecret: string);
    list(userId?: string | null, type?: string): UserSecretRecord[];
    getValue(userId: string | null | undefined, type: string, key: string): string | null;
    save(params: SaveUserSecretParams): UserSecretRecord;
    delete(id: string, userId?: string | null): boolean;
    private getById;
    private markUsed;
    private encrypt;
    private decrypt;
}
//# sourceMappingURL=user-secrets.d.ts.map