import type { CompactionEvent } from '@pellux/goodvibes-sdk/platform/runtime/events/compaction';
import type { PermissionEvent } from '@pellux/goodvibes-sdk/platform/runtime/events/permissions';
import type { TaskEvent } from '@pellux/goodvibes-sdk/platform/runtime/events/tasks';
import type { AgentEvent } from '@pellux/goodvibes-sdk/platform/runtime/events/agents';
import type { OrchestrationEvent } from '@pellux/goodvibes-sdk/platform/runtime/events/orchestration';
import type { SessionDomainState } from '@pellux/goodvibes-sdk/platform/runtime/store/domains/session';
import type { PermissionDomainState } from '../../domains/permissions.js';
import type { TaskDomainState, RuntimeTask, TaskLifecycleState } from '@pellux/goodvibes-sdk/platform/runtime/store/domains/tasks';
import type { AgentDomainState, RuntimeAgent, AgentLifecycleState } from '@pellux/goodvibes-sdk/platform/runtime/store/domains/agents';
import type { OrchestrationDomainState } from '@pellux/goodvibes-sdk/platform/runtime/store/domains/orchestration';
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