import { type Dedalus } from '../../client'; import { RequestOptions } from '../request-options'; type LogFn = (message: string, ...rest: unknown[]) => void; export type Logger = { error: LogFn; warn: LogFn; info: LogFn; debug: LogFn; }; export type LogLevel = 'off' | 'error' | 'warn' | 'info' | 'debug'; export declare const parseLogLevel: (maybeLevel: string | undefined, sourceName: string, client: Dedalus) => LogLevel | undefined; export declare function loggerFor(client: Dedalus): Logger; /** * Replaces the value of every credential-bearing query parameter in a URL about to be logged. * * Rewritten on the query substring rather than through `new URL`, so a relative URL is handled the * same way an absolute one is and no parse can throw on the logging path. */ export declare const redactUrl: (url: string) => string; /** Replaces the value of every credential-bearing header, for a `Headers` or a plain record alike. */ export declare const redactHeaders: (headers: Headers | Record) => Record; export declare const formatRequestDetails: (details: { options?: RequestOptions | undefined; headers?: Headers | Record | undefined; retryOfRequestLogID?: string | undefined; retryOf?: string | undefined; url?: string | undefined; status?: number | undefined; method?: string | undefined; durationMs?: number | undefined; message?: unknown; body?: unknown; }) => { options?: RequestOptions | undefined; headers?: Headers | Record | undefined; retryOfRequestLogID?: string | undefined; retryOf?: string | undefined; url?: string | undefined; status?: number | undefined; method?: string | undefined; durationMs?: number | undefined; message?: unknown; body?: unknown; }; export {}; //# sourceMappingURL=log.d.ts.map