import { Dialect } from "../base/index.js"; import { KeyValueDatabase } from "../type/keyvalue/database.js"; import { Database } from "../base/index.js"; import type { RedisClientOptions } from 'redis'; import { BuildQueryResult, KeyValueQueryResult, DatabaseDialect, QueryParams } from "../types.js"; export interface RedisDialectConfig extends RedisClientOptions { } export declare class RedisDialect = Record> extends Dialect { private client; constructor(config: RedisDialectConfig); /** * 检查是否已连接 */ isConnected(): boolean; /** * 连接数据库 */ connect(): Promise; /** * 断开连接 */ disconnect(): Promise; /** * 健康检查 */ healthCheck(): Promise; /** * 启动连接 */ start(): Promise; /** * 停止连接 */ stop(): Promise; /** * 释放资源 */ dispose(): Promise; /** * 执行查询 */ query(query: KeyValueQueryResult, params?: any[]): Promise; /** * 构建查询 */ buildQuery(params: QueryParams): BuildQueryResult; mapColumnType(type: string): string; quoteIdentifier(identifier: string): string; getParameterPlaceholder(index: number): string; getStatementTerminator(): string; formatBoolean(value: boolean): string; formatDate(value: Date): string; formatJson(value: any): string; escapeString(value: string): string; formatDefaultValue(value: any): string; formatLimit(limit: number): string; formatOffset(offset: number): string; formatLimitOffset(limit: number, offset: number): string; formatCreateTable(tableName: keyof S, columns: string[]): string; formatAlterTable(tableName: keyof S, alterations: string[]): string; formatDropTable(tableName: keyof S, ifExists?: boolean): string; formatDropIndex(indexName: string, tableName: keyof S, ifExists?: boolean): string; private buildCreateQuery; private buildSelectQuery; private buildInsertQuery; private buildUpdateQuery; private buildDeleteQuery; private buildAlterQuery; private buildDropTableQuery; private buildDropIndexQuery; private extractKeyFromCondition; private extractKeyFromData; private executeGet; private executeSet; private executeDelete; private executeHas; private executeKeys; private executeValues; private executeEntries; private executeClear; private executeSize; private executeExpire; private executeTtl; private executePersist; private executeCleanup; private executeKeysByPattern; get dialectInfo(): DatabaseDialect; } export declare class Redis = Record> extends KeyValueDatabase { constructor(config: RedisDialectConfig, definitions?: Database.DefinitionObj); } //# sourceMappingURL=redis.d.ts.map