import { AnyRouter } from '@trpc/server'; import { TRPCClientError } from '..'; import { Operation, OperationResultEnvelope, TRPCLink } from './types'; declare type ConsoleEsque = { log: (...args: any[]) => void; error: (...args: any[]) => void; }; declare type EnableFnOptions = (Operation & { direction: 'up'; }) | { direction: 'down'; result: OperationResultEnvelope | TRPCClientError; }; declare type EnabledFn = (opts: EnableFnOptions) => boolean; declare type LoggerLinkFnOptions = Operation & ({ /** * Request was just initialized */ direction: 'up'; } | { /** * Request result */ direction: 'down'; result: OperationResultEnvelope | TRPCClientError; elapsedMs: number; }); declare type LoggerLinkFn = (opts: LoggerLinkFnOptions) => void; export interface LoggerLinkOptions { logger?: LoggerLinkFn; enabled?: EnabledFn; /** * Used in the built-in defaultLogger */ console?: ConsoleEsque; } export declare function loggerLink(opts?: LoggerLinkOptions): TRPCLink; export {}; //# sourceMappingURL=loggerLink.d.ts.map