import type { WorkflowTemplate, OtelEvent } from '@principal-ai/principal-view-core';
import { type ExecutionData } from '@principal-ai/principal-view-core';
/**
 * Load a workflow template from a file
 */
export declare function loadWorkflow(filePath: string): Promise<WorkflowTemplate>;
/**
 * Load execution data from a .otel.json file
 *
 * Automatically handles OTLP standard format conversion via ExecutionValidator.
 */
export declare function loadExecution(filePath: string): Promise<ExecutionData>;
/**
 * Convert execution data to OtelEvent array format expected by workflow APIs
 */
export declare function executionToEvents(execution: ExecutionData): OtelEvent[];
/**
 * Resolve a file path relative to a base directory
 */
export declare function resolvePath(filePath: string, baseDir?: string): string;
/**
 * Format a timestamp as human-readable date/time
 */
export declare function formatTimestamp(timestamp: number): string;
/**
 * Format duration in milliseconds
 */
export declare function formatDuration(ms: number): string;
/**
 * Group attributes by prefix (e.g., 'auth.method' -> 'auth')
 */
export declare function groupAttributesByPrefix(attributes: Record<string, unknown>): Record<string, Record<string, unknown>>;
/**
 * Filter attributes by pattern (supports glob-like patterns)
 */
export declare function filterAttributes(attributes: Record<string, unknown>, pattern: string): Record<string, unknown>;
/**
 * Count events by type/name
 */
export declare function countEventsByType(events: OtelEvent[]): Map<string, number>;
/**
 * Format attribute value for display
 */
export declare function formatValue(value: unknown): string;
/**
 * Capitalize first letter of a string
 */
export declare function capitalize(str: string): string;
//# sourceMappingURL=utils.d.ts.map