import { Activity } from '../types.js'; /** * List of computed field names for activities */ export declare const ACTIVITY_COMPUTED_FIELDS: readonly ["artifactCount", "summary"]; /** * List of computed field names for sessions */ export declare const SESSION_COMPUTED_FIELDS: readonly ["durationMs"]; /** * Check if a field name is a computed field for activities */ export declare function isActivityComputedField(field: string): boolean; /** * Check if a field name is a computed field for sessions */ export declare function isSessionComputedField(field: string): boolean; /** * Compute the artifactCount for an activity */ export declare function computeArtifactCount(activity: Activity): number; /** * Compute the summary for an activity * Delegates to existing toSummary implementation */ export declare function computeSummary(activity: Activity): string; /** * Compute the duration in milliseconds for a session */ export declare function computeDurationMs(session: { createTime?: string; updateTime?: string; }): number; /** * Inject computed fields into an activity based on selected fields * * @param activity The activity to augment * @param selectFields The fields being selected (or undefined for default) * @returns Activity with computed fields added */ export declare function injectActivityComputedFields(activity: Activity, selectFields?: string[]): Activity & { artifactCount?: number; summary?: string; }; /** * Inject computed fields into a session based on selected fields * * @param session The session to augment * @param selectFields The fields being selected (or undefined for default) * @returns Session with computed fields added */ export declare function injectSessionComputedFields(session: T, selectFields?: string[]): T & { durationMs?: number; }; /** * Default projection fields for activities (includes computed fields) */ export declare const DEFAULT_ACTIVITY_PROJECTION: string[]; /** * Default projection fields for sessions */ export declare const DEFAULT_SESSION_PROJECTION: string[];