import * as http from 'http'; import * as https from 'https'; import { LogLevelName } from '../constants'; export interface LogInfo { level: LogLevelName; message: string; timestamp: string; metadata?: Record; [key: string]: any; } export interface RemoteTransportOptions { endpoint: string; authToken?: string; serviceName?: string; environment?: string; batchSize?: number; batchIntervalMs?: number; gzip?: boolean; retryLimit?: number; retryBaseMs?: number; fallback?: { enabled?: boolean; baseDir?: string; }; httpOptions?: http.RequestOptions & { agent?: http.Agent | https.Agent | false; }; dashboard?: boolean; dashboardToken?: string; expressApp?: any; } /** * remoteTransport(formatter, options) * returns a transport function: (info: LogInfo) => void */ export default function remoteTransport(format: (info: LogInfo) => string, options: RemoteTransportOptions): (info: LogInfo) => void;