import { DatabaseAdapter, TableSchema, QueryParams } from '../../types';
export declare abstract class BaseDatabaseAdapter implements DatabaseAdapter {
    protected connected: boolean;
    abstract connect(): Promise<void>;
    abstract disconnect(): Promise<void>;
    abstract createTable(tableName: string, schema: TableSchema): Promise<void>;
    abstract query<T = any>(tableName: string, params: QueryParams): Promise<T[]>;
    abstract create<T = any>(tableName: string, data: any): Promise<T>;
    abstract update<T = any>(tableName: string, id: string | number, data: any): Promise<T>;
    abstract delete(tableName: string, id: string | number): Promise<boolean>;
    abstract count(tableName: string, where?: Record<string, any>): Promise<number>;
    protected ensureConnected(): void;
    protected mapFieldType(fieldType: string): string;
    protected buildWhereClause(where: Record<string, any>): {
        sql: string;
        values: any[];
    };
    protected buildOrderByClause(orderBy: Record<string, 'asc' | 'desc'>): string;
}
//# sourceMappingURL=base.d.ts.map