import type { CompactionEvent, PermissionEvent, TaskEvent, AgentEvent, OrchestrationEvent } from '../events.js';
import type { SessionDomainState } from '../../domains/session.js';
import type { PermissionDomainState } from '../../domains/permissions.js';
import type { TaskDomainState, RuntimeTask, TaskLifecycleState } from '../../domains/tasks.js';
import type { AgentDomainState, RuntimeAgent, AgentLifecycleState } from '../../domains/agents.js';
import type { OrchestrationDomainState } from '../../domains/orchestration.js';
export declare function updateSessionState(domain: SessionDomainState, event: CompactionEvent): SessionDomainState;
export declare function updatePermissionState(domain: PermissionDomainState, event: PermissionEvent): PermissionDomainState;
export declare function updateTaskState(domain: TaskDomainState, event: TaskEvent): TaskDomainState;
declare function updateTaskDomainFromRecord(domain: TaskDomainState, task: RuntimeTask, source: string): TaskDomainState;
declare function transitionTaskDomainRecord(domain: TaskDomainState, taskId: string, status: TaskLifecycleState, patch: Partial<RuntimeTask> | undefined, source: string): TaskDomainState;
export declare function updateAgentState(domain: AgentDomainState, event: AgentEvent): AgentDomainState;
declare function transitionAgentDomainRecord(domain: AgentDomainState, agentId: string, status: AgentLifecycleState, patch: Partial<RuntimeAgent> | undefined, source: string): AgentDomainState;
export declare function updateOrchestrationState(domain: OrchestrationDomainState, event: OrchestrationEvent): OrchestrationDomainState;
export { updateTaskDomainFromRecord, transitionTaskDomainRecord, transitionAgentDomainRecord };
//# sourceMappingURL=lifecycle.d.ts.map