type Query = string | number; type Params = Record | unknown[] | Function; type Callback = (result: T | null) => void; type Transaction = string[] | [string, Params][] | { query: string; values: Params; }[] | { query: string; parameters: Params; }[]; interface Result { [column: string | number]: any; affectedRows?: number; fieldCount?: number; info?: string; insertId?: number; serverStatus?: number; warningStatus?: number; changedRows?: number; } interface Row { [column: string | number]: unknown; } interface OxMySQL { store: (query: string) => void; ready: (callback: () => void) => void; query: (query: Query, params?: Params | Callback, cb?: Callback) => Promise; single: (query: Query, params?: Params | Callback>, cb?: Callback>) => Promise>; scalar: (query: Query, params?: Params | Callback>, cb?: Callback>) => Promise>; update: (query: Query, params?: Params | Callback, cb?: Callback) => Promise; insert: (query: Query, params?: Params | Callback, cb?: Callback) => Promise; prepare: (query: Query, params?: Params | Callback, cb?: Callback) => Promise; rawExecute: (query: Query, params?: Params | Callback, cb?: Callback) => Promise; transaction: (query: Transaction, params?: Params | Callback, cb?: Callback) => Promise; isReady: () => boolean; awaitConnection: () => Promise; startTransaction: (cb: (query: (statement: string, params?: Params) => Promise) => Promise) => Promise; } export declare const oxmysql: OxMySQL; export {};