export declare function sideBySide(left: string[], sep: string, right: string[]): string[];
export declare function wrapText(n: number, text: string): string[];
/**
 * Trim already-extracted log lines to the set we render.
 *
 * Keeps only the most recent {@link MAX_LOG_LINES} (newer output is more useful for
 * diagnosis) and prepends an "N earlier lines omitted" marker when truncation happened.
 * This is the single truncation point shared by all CloudWatch contexts — the formatter
 * renders the result verbatim.
 */
export declare function trimToRecentLines(lines: string[]): string[];
/**
 * Normalize Lambda CloudWatch log events into readable lines.
 *
 * Lambda emits logs in one of two formats (per the function's `LoggingConfig.LogFormat`):
 * - **Text**: `<timestamp>\t<requestId>\t<LEVEL>\t<message>`, plus platform lines.
 * - **JSON**: one JSON object per event (`{ timestamp, level, message, ... }`).
 *
 * For both we surface `LEVEL  message` (or just the message when there's no level), strip the
 * redundant per-line timestamp/requestId (it's all one invocation), and drop pure platform
 * boilerplate. The level and message are combined into a single rendered line. We never drop
 * application output — failure detail is often logged at INFO (e.g. the cfn-response "Response
 * body" line). Anything we don't recognize passes through verbatim, and the full logs remain
 * available via the console link.
 *
 * This is Lambda-specific; it is not applied to ECS logs, which are arbitrary container output.
 */
export declare function parseLambdaLogEvents(events: Array<{
    message?: string;
}>): string[];
export declare function cloudWatchLogsConsoleUrl(region: string, logGroup: string): string;
//# sourceMappingURL=format-utils.d.ts.map