/**
 * Strategy Helper Functions
 *
 * Utility functions used by strategy implementations for interval extraction.
 * These were extracted from the orchestrator to be shared across strategies.
 */
import { IntervalHelpers } from './types';
/**
 * Convert columnar payload ({ columns, rows }) or array-of-objects to
 * a normalized array of row objects.
 *
 * Handles three formats:
 * 1. Already an array of objects → passthrough
 * 2. { columns: string[], rows: any[][] } → zip into objects
 * 3. Anything else → empty array
 */
export declare function payloadToObjectRows(payload: any): Array<Record<string, any>>;
/**
 * Heuristic to determine if a process name is likely an app process
 * (as opposed to a system daemon like surfaceflinger or system_server).
 */
export declare function isLikelyAppProcessName(name: string): boolean;
/**
 * Format a nanosecond time range as a human-readable label.
 * If referenceNs is provided, shows relative times (e.g., "2.03s–4.82s").
 * Otherwise computes duration (e.g., "持续 2.79s").
 *
 * Uses BigInt division for precision-safe conversion from ns to seconds.
 */
export declare function formatNsRangeLabel(startTs: string | number, endTs: string | number, referenceNs?: string | number): string;
/**
 * Unwrap a value that may be a raw payload OR a SkillExecutor StepResult
 * wrapper ({ data, success, stepId, ... }).  Returns the inner payload so
 * that payloadToObjectRows always receives an array or columnar object.
 *
 * rawResults (context.results) maps step IDs to StepResult objects.
 * Strategies must unwrap before calling payloadToObjectRows.
 */
export declare function unwrapStepResult(value: any): any;
/**
 * Pre-built helpers instance for use in strategy extractIntervals implementations.
 */
export declare const intervalHelpers: IntervalHelpers;
//# sourceMappingURL=helpers.d.ts.map