/**
 * Standardized formatting utilities for consistent output across all CLI and Tool interfaces.
 * These functions should be used by all formatters to ensure consistent formatting.
 */
import { ResponsePagination } from '../types/common.types.js';
/**
 * Format a date in a standardized way: YYYY-MM-DD HH:MM:SS UTC
 * @param dateString - ISO date string or Date object
 * @returns Formatted date string
 */
export declare function formatDate(dateString?: string | Date): string;
/**
 * Format a heading with the specified level (markdown)
 * @param text - The heading text
 * @param level - The heading level (1-6, defaults to 1)
 * @returns Formatted heading
 */
export declare function formatHeading(text: string, level?: number): string;
/**
 * Format pagination information in a standardized way for CLI output.
 * Includes separator, item counts, availability message, next page instructions, and timestamp.
 * @param pagination - The ResponsePagination object containing pagination details.
 * @returns Formatted pagination footer string for CLI.
 */
export declare function formatPagination(pagination: ResponsePagination): string;
/**
 * Format a URL as a markdown link
 * @param url - The URL to format
 * @param title - Optional title for the link
 * @returns Formatted URL as a markdown link
 */
export declare function formatUrl(url: string, title?: string): string;
/**
 * Format a separator line
 * @returns Formatted separator line
 */
export declare function formatSeparator(): string;
/**
 * Format a bullet list from an object
 * @param items - The object to format as a bullet list
 * @param formatter - Optional function to format keys
 * @returns Formatted bullet list
 */
export declare function formatBulletList(items: Record<string, unknown>, formatter?: (key: string) => string): string;
/**
 * Format a numbered list from an array
 * @param items - The array of items to format
 * @param formatter - Function to format each item
 * @returns Formatted numbered list
 */
export declare function formatNumberedList<T>(items: T[], formatter: (item: T, index: number) => string): string;
/**
 * Format text as a Markdown code block
 * @param text Text content
 * @param language Optional language identifier
 * @returns Formatted code block string
 */
