import type { ActivityId, RunId } from '../ids/index.js';
import type { PermissionMode } from '../permission/index.js';
export type ActivityType = 'tool_call' | 'llm_turn' | 'sub_agent' | 'shell';
export type ActivityStatus = 'pending' | 'running' | 'completed' | 'failed' | 'cancelled' | 'skipped';
export declare function isTerminalActivityStatus(status: ActivityStatus): boolean;
export interface ActivityProgress {
    percentage?: number;
    message?: string;
    updatedAt: number;
}
export interface Activity<TInput = unknown, TOutput = unknown> {
    id: ActivityId;
    runId: RunId;
    type: ActivityType;
    status: ActivityStatus;
    description: string;
    input?: TInput;
    output?: TOutput;
    error?: string;
    parentActivityId?: ActivityId;
    blockedBy: ActivityId[];
    blocks: ActivityId[];
    progress?: ActivityProgress;
    toolName?: string;
    toolCallId?: string;
    createdAt: number;
    startedAt?: number;
    completedAt?: number;
    durationMs?: number;
}
export interface ActivityTrackingConfig {
    enabled: boolean;
    trackToolCalls: boolean;
    trackLlmTurns: boolean;
}
export declare function resolveActivityTracking(_permissionMode: PermissionMode, explicit?: boolean): ActivityTrackingConfig;
//# sourceMappingURL=index.d.ts.map