import { Model } from '../../base/index.js'; import { KeyValueDatabase } from './database.js'; import { KeyValueQueryResult } from '../../types.js'; /** * 键值模型类 * 继承自 Model,提供键值数据库特有的操作 */ export declare class KeyValueModel = Record, T extends keyof S = keyof S> extends Model { constructor(database: KeyValueDatabase, name: T); /** * 设置键值对 */ set(key: string, value: any, ttl?: number): Promise; /** * 获取值 */ get(key: string): Promise; /** * 删除键 */ deleteByKey(key: string): Promise; /** * 检查键是否存在 */ has(key: string): Promise; /** * 获取所有键 */ keys(): Promise; /** * 获取所有值 */ values(): Promise; /** * 获取所有键值对 */ entries(): Promise>; /** * 清空桶 */ clear(): Promise; /** * 获取桶大小 */ size(): Promise; /** * 批量设置 */ setMany(entries: Array<[string, any]>, ttl?: number): Promise; /** * 设置过期时间 */ expire(key: string, ttl: number): Promise; /** * 获取剩余过期时间(秒) */ ttl(key: string): Promise; /** * 移除过期时间 */ persist(key: string): Promise; /** * 清理过期键 */ cleanup(): Promise; /** * 获取键的模式匹配 */ keysByPattern(pattern: string): Promise; /** * 原子操作:如果不存在则设置 */ setIfNotExists(key: string, value: any, ttl?: number): Promise; /** * 原子操作:如果存在则设置 */ setIfExists(key: string, value: any, ttl?: number): Promise; /** * 原子操作:获取并设置 */ getAndSet(key: string, value: any, ttl?: number): Promise; /** * 原子操作:删除并获取 */ deleteAndGet(key: string): Promise; /** * 创建数据(键值数据库的创建就是设置) */ create(data: T): Promise; /** * 查找单个数据 */ selectOne(query: { key: string; }): Promise; /** * 统计数量 */ count(): Promise; /** * 检查是否存在 */ exists(query: { key: string; }): Promise; } //# sourceMappingURL=model.d.ts.map