import { Injector } from 'typed-inject'; import { LoggingSink } from './logging-sink.js'; import { Logger } from '@stryker-mutator/api/logging'; import { coreTokens } from '../di/index.js'; import { LoggingServer, LoggingServerAddress } from './logging-server.js'; import { LoggingBackend } from './logging-backend.js'; import { LoggingClient } from './logging-client.js'; import { LogLevel } from '@stryker-mutator/api/core'; export declare function provideLogging(injector: Injector): Injector<{ [K_1 in "loggingServer" | "getLogger" | "logger" | keyof T]: K_1 extends "loggingServer" ? LoggingServer : K_1 extends "getLogger" | "logger" | keyof T ? ({ [K_3 in "getLogger" | "logger" | keyof T]: K_3 extends "logger" ? Logger : K_3 extends "getLogger" | keyof T ? ({ [K_5 in "getLogger" | keyof T]: K_5 extends "getLogger" ? (categoryName?: string) => Logger : K_5 extends keyof T ? T[K_5] : never; } extends infer T_7 ? { [K_4 in keyof T_7]: { [K_5 in "getLogger" | keyof T]: K_5 extends "getLogger" ? (categoryName?: string) => Logger : K_5 extends keyof T ? T[K_5] : never; }[K_4]; } : never)[K_3] : never; } extends infer T_5 ? { [K_2 in keyof T_5]: { [K_3 in "getLogger" | "logger" | keyof T]: K_3 extends "logger" ? Logger : K_3 extends "getLogger" | keyof T ? ({ [K_5 in "getLogger" | keyof T]: K_5 extends "getLogger" ? (categoryName?: string) => Logger : K_5 extends keyof T ? T[K_5] : never; } extends infer T_6 ? { [K_4 in keyof T_6]: { [K_5 in "getLogger" | keyof T]: K_5 extends "getLogger" ? (categoryName?: string) => Logger : K_5 extends keyof T ? T[K_5] : never; }[K_4]; } : never)[K_3] : never; }[K_2]; } : never)[K_1] : never; } extends infer T_1 ? { [K in keyof T_1]: { [K_1 in "loggingServer" | "getLogger" | "logger" | keyof T]: K_1 extends "loggingServer" ? LoggingServer : K_1 extends "getLogger" | "logger" | keyof T ? ({ [K_3 in "getLogger" | "logger" | keyof T]: K_3 extends "logger" ? Logger : K_3 extends "getLogger" | keyof T ? ({ [K_5 in "getLogger" | keyof T]: K_5 extends "getLogger" ? (categoryName?: string) => Logger : K_5 extends keyof T ? T[K_5] : never; } extends infer T_4 ? { [K_4 in keyof T_4]: { [K_5 in "getLogger" | keyof T]: K_5 extends "getLogger" ? (categoryName?: string) => Logger : K_5 extends keyof T ? T[K_5] : never; }[K_4]; } : never)[K_3] : never; } extends infer T_2 ? { [K_2 in keyof T_2]: { [K_3 in "getLogger" | "logger" | keyof T]: K_3 extends "logger" ? Logger : K_3 extends "getLogger" | keyof T ? ({ [K_5 in "getLogger" | keyof T]: K_5 extends "getLogger" ? (categoryName?: string) => Logger : K_5 extends keyof T ? T[K_5] : never; } extends infer T_3 ? { [K_4 in keyof T_3]: { [K_5 in "getLogger" | keyof T]: K_5 extends "getLogger" ? (categoryName?: string) => Logger : K_5 extends keyof T ? T[K_5] : never; }[K_4]; } : never)[K_3] : never; }[K_2]; } : never)[K_1] : never; }[K]; } : never>; export declare namespace provideLogging { var inject: readonly ["loggingSink", "$injector"]; } export declare function provideLoggingBackend(injector: Injector): Promise>; export declare namespace provideLoggingBackend { var inject: readonly ["$injector"]; } export type LoggingProvider = ReturnType; export declare function provideLoggingClient(injector: Injector, loggingServerAddress: LoggingServerAddress, activeLogLevel: LogLevel): Promise>; //# sourceMappingURL=provide-logging.d.ts.map