import { DatabaseDriver } from '../database.js';
import { C as CreateDriverResult } from '../../../../mastercache-Di19srNZ.js';
import { KnexConfig } from '../../../types/options/drivers-options.js';
import { DatabaseAdapter } from '../../../types/driver.js';
import '../../base-driver.js';
import '../../../types/provider.js';
import '../../../types/helpers.js';
import 'typescript-log';
import '../../../types/options/methods-options.js';
import '../../../types/options/options.js';
import '../../../../events-CkqPK7En.js';
import '../../../types/bus.js';
import '@boringnode/bus/types/main';
import 'knex';
import 'kysely';
import '@aws-sdk/client-dynamodb';
import 'ioredis';
import 'orchid-orm';

/**
 * Knex adapter for the DatabaseDriver
 */
declare class KnexAdapter implements DatabaseAdapter {
    #private;
    constructor(config: KnexConfig);
    setTableName(tableName: string): void;
    get(key: string): Promise<{
        value: string;
        expiresAt: number | null;
    } | undefined>;
    delete(key: string): Promise<boolean>;
    deleteMany(keys: string[]): Promise<number>;
    disconnect(): Promise<void>;
    createTableIfNotExists(): Promise<void>;
    pruneExpiredEntries(): Promise<void>;
    clear(prefix: string): Promise<void>;
    set(row: {
        key: string;
        value: any;
        expiresAt: Date | null;
    }): Promise<void>;
}
/**
 * Create a knex driver
 * You will need to install the underlying database package (mysql2, pg, sqlite3, etc)
 */
declare function knexDriver(options: KnexConfig): CreateDriverResult<DatabaseDriver>;

export { KnexAdapter, knexDriver };
