export type DatabaseConfig = {
    driver: 'sqlite' | 'postgresql' | 'mysql' | 'sqlserver' | 'd1';
    database?: string;
    connectionString?: string;
    host?: string;
    port?: number;
    username?: string;
    password?: string;
    synchronize?: boolean;
    logging?: boolean;
    ssl?: boolean;
    socketTimeoutMs?: number;
    readHosts?: string[];
};
export type QueryResult = {
    rows: Record<string, unknown>[];
    rowCount: number;
    lastInsertId?: string | number | bigint;
};
export interface IDatabaseAdapter {
    connect(): Promise<void>;
    disconnect(): Promise<void>;
    query(sql: string, parameters: unknown[]): Promise<QueryResult>;
    queryOne(sql: string, parameters: unknown[]): Promise<Record<string, unknown> | null>;
    ping(): Promise<void>;
    transaction<T>(callback: (adapter: IDatabaseAdapter) => Promise<T>): Promise<T>;
    rawQuery<T = unknown>(sql: string, parameters?: unknown[]): Promise<T[]>;
    ensureMigrationsTable?(): Promise<void>;
    getType(): string;
    isConnected(): boolean;
    getPlaceholder(index: number): string;
}
export declare const MySQLAdapter: Readonly<{
    create: (config: DatabaseConfig) => IDatabaseAdapter;
}>;
export default MySQLAdapter;
/**
 * Package version and build metadata
 * Available at runtime for debugging and health checks
 */
export declare const _ZINTRUST_DB_MYSQL_VERSION = "0.1.15";
export declare const _ZINTRUST_DB_MYSQL_BUILD_DATE = "__BUILD_DATE__";
//# sourceMappingURL=index.d.ts.map