import { OnModuleInit, OnModuleDestroy } from '@nestjs/common'; import { DevtoolsService } from '../devtools.service'; import { AxiosInstance } from 'axios'; /** * Tracer para capturar requisições HTTP de saída (HTTP Client) * * Suporta: * - Axios (instância global e instâncias criadas dinamicamente) * - HttpService do NestJS (via detecção automática do axios interno) * - Fetch nativo (Node.js 18+) */ export declare class HttpClientTracer implements OnModuleInit, OnModuleDestroy { private readonly devtoolsService; private readonly logger; private readonly interceptedAxiosInstances; private isFetchIntercepted; constructor(devtoolsService: DevtoolsService); onModuleInit(): void; onModuleDestroy(): void; /** * Configura interceptors globais do Axios * Intercepta a instância padrão do axios e todas as novas instâncias */ private setupAxiosInterceptors; /** * Intercepta axios.create() para capturar todas as novas instâncias */ private setupAxiosInstanceInterceptor; /** * Intercepta e registra uma instância específica do Axios * Útil para instâncias já criadas ou HttpService do NestJS */ interceptAxiosInstance(axiosInstance: AxiosInstance): void; /** * Configura interceptor para fetch nativo (Node.js 18+) */ private setupFetchInterceptor; /** * Converte Headers para Record */ private convertHeadersToRecord; /** * Registra uma requisição Axios */ private trackAxiosRequest; /** * Registra uma requisição fetch nativa */ private trackFetchRequest; /** * Constrói URL completa a partir da config */ private buildFullUrl; /** * Retorna emoji baseado no status code */ private getStatusEmoji; /** * Método manual para rastrear requisições HTTP customizadas */ trackCustomRequest(method: string, url: string, requestFn: () => Promise, options?: { headers?: Record; body?: any; clientType?: 'axios' | 'fetch' | 'httpService' | 'unknown'; }): Promise; } //# sourceMappingURL=http-client.tracer.d.ts.map