import type { AppMode } from '../types'; import { LogLevel } from './logger'; /** * Normalizes and joins multiple path segments into a clean, well-formed URL path. * * - Trims each segment and removes empty fragments. * - Splits on slashes to support nested paths. * - Ensures the final path starts with a single '/' and contains no duplicate slashes. * * Useful for dynamically composing route paths in a consistent and safe way. */ export declare function buildPath(...parts: string[]): string; export declare function capitalize(str: string): string; export declare function getModeLogLevel(mode: AppMode): LogLevel.DEBUG | LogLevel.INFO | LogLevel.ERROR; /** * Logs a single resolved HTTP request line with basic metadata. * * Outputs the HTTP method, path, status code with status text, * request duration, and IP address, using the specified log level. * * @param type - The log method to use (`info`, `print`, or `error`). * @param method - The HTTP method (e.g., 'GET', 'POST'). * @param path - The URL path of the request. * @param status - The HTTP status code (e.g., 200, 404). * @param statusText - The status text (e.g., 'OK', 'Not Found'). * @param duration - The request duration in milliseconds. * @param ip - The IP address of the requester. * * @example * signal('info', 'GET', '/api/users', 200, 'OK', 123.45, '127.0.0.1'); * // Logs: * // 2025-08-08T17:22:00.000Z INFO [default] GET /api/users 200::OK 123.45 ms -- 127.0.0.1 */ export declare function signal(type: 'info' | 'print' | 'error', method: string, path: string, status: number, duration: number, ip: string): void; export declare function objectCleanUndefined>(obj?: T): T; export declare function asArray(value: T | T[] | null | undefined): T[];