import { EventNoticer } from './event'; import { PacketData } from './mysql/parser'; import { Field } from './mysql/query'; export interface Result extends PacketData { rows?: Dict[]; fields?: Dict; } export interface Callback { (err: Error | null, data?: Result[]): void; } export interface Options { port?: number; host?: string; user?: string; password?: string; database?: string; } export declare const defaultOptions: Options; /** * @class Database */ export declare abstract class Database { readonly options: Options; readonly onError: EventNoticer; constructor(options?: Options); /** * database statistics */ abstract statistics(cb: Callback): void; /** * @func query() */ abstract query(sql: string, cb: Callback): void; /** * close database connection */ abstract close(): void; /** * srart transaction */ abstract transaction(): void; /** * commit transaction */ abstract commit(): void; /** * rollback transaction and clear sql command queue */ abstract rollback(): void; /** * exec query database */ exec(sql: string): Promise; } /** * escape sql param */ export declare function escape(param: any): string; declare const _default: { Database: typeof Database; escape: typeof escape; }; export default _default;