import Emittery from "emittery"; import type { Logger as PinoLogger } from "pino"; import "reflect-metadata"; import type { Logger, QueryRunner } from "typeorm"; export declare const queryRunnerId: (runner?: QueryRunner) => number | "none"; export interface QueryEvent { query: string; connectionName: string; parameters?: any[]; queryRunner?: QueryRunner; } /** Event emitter for accessing a stream of all the queries run by the system. Useful in tests. */ export declare const queries: Emittery<{ query: QueryEvent; }>; /** * Wrapper class implementing the TypeORM logger interface backed by a pino logger (which is what we use everywhere else) */ export declare class TypeORMPinoLogger implements Logger { readonly connectionName: string; logger: PinoLogger; constructor(connectionName: string, logger: PinoLogger); logQuery(query: string, parameters?: any[], queryRunner?: QueryRunner): void; logQueryError(error: string, query: string, parameters?: any[], queryRunner?: QueryRunner): void; logQuerySlow(time: number, query: string, parameters?: any[], queryRunner?: QueryRunner): void; logSchemaBuild(message: string, queryRunner?: QueryRunner): void; logMigration(message: string, queryRunner?: QueryRunner): void; log(level: "log" | "info" | "warn", message: any, queryRunner?: QueryRunner): void; }