import type { CommunicationEvent, PluginEvent, McpEvent, TransportEvent } from '../events.js';
import type { IntegrationDomainState, IntegrationRecord } from '../../domains/integrations.js';
import type { AutomationDomainState } from '../../domains/automation.js';
import type { RoutesDomainState } from '../../domains/routes.js';
import type { ControlPlaneDomainState, ControlPlaneClientRecord } from '../../domains/control-plane.js';
import type { DeliveryDomainState } from '../../domains/deliveries.js';
import type { WatcherDomainState, WatcherRecord } from '../../domains/watchers.js';
import type { SurfaceDomainState, SurfaceRecord } from '../../domains/surfaces.js';
import type { CommunicationDomainState } from '../../domains/communication.js';
import type { PluginDomainState } from '../../domains/plugins.js';
import type { McpDomainState } from '../../domains/mcp.js';
import type { AcpDomainState } from '../../domains/acp.js';
import type { DaemonDomainState } from '../../domains/daemon.js';
import type { AutomationJob } from '../../../../automation/jobs.js';
import type { AutomationRun } from '../../../../automation/runs.js';
import type { AutomationSourceRecord } from '../../../../automation/sources.js';
import type { AutomationRouteBinding } from '../../../../automation/routes.js';
import type { AutomationSurfaceKind } from '../../../../automation/types.js';
import type { AutomationDeliveryAttempt } from '../../../../automation/delivery.js';
import type { SessionDomainState } from '../../domains/session.js';
export declare function updateCommunicationState(domain: CommunicationDomainState, event: CommunicationEvent): CommunicationDomainState;
export declare function updatePluginState(domain: PluginDomainState, event: PluginEvent): PluginDomainState;
export declare function updateMcpState(domain: McpDomainState, event: McpEvent): McpDomainState;
export declare function updateTransportState(acp: AcpDomainState, daemon: DaemonDomainState, event: TransportEvent): Pick<import('../../state.js').RuntimeState, 'acp' | 'daemon'>;
export declare function updateIntegrationDomainFromRecord(domain: IntegrationDomainState, record: IntegrationRecord, source: string): IntegrationDomainState;
export declare function updateAutomationDomainFromSource(domain: AutomationDomainState, sourceRecord: AutomationSourceRecord, source: string): AutomationDomainState;
export declare function updateAutomationDomainFromJob(domain: AutomationDomainState, job: AutomationJob, source: string): AutomationDomainState;
export declare function updateAutomationDomainFromRun(domain: AutomationDomainState, run: AutomationRun, source: string): AutomationDomainState;
export declare function updateRoutesDomainFromBinding(domain: RoutesDomainState, binding: AutomationRouteBinding, source: string): RoutesDomainState;
export declare function updateRouteFailureState(domain: RoutesDomainState, _surfaceKind: AutomationSurfaceKind, _externalId: string, source: string): RoutesDomainState;
export declare function updateControlPlaneDomainFromClient(domain: ControlPlaneDomainState, client: ControlPlaneClientRecord, source: string): ControlPlaneDomainState;
export declare function patchControlPlaneDomain(domain: ControlPlaneDomainState, patch: Partial<ControlPlaneDomainState>, source: string): ControlPlaneDomainState;
export declare function updateDeliveryDomainFromAttempt(domain: DeliveryDomainState, attempt: AutomationDeliveryAttempt, source: string): DeliveryDomainState;
export declare function updateSurfaceDomainFromRecord(domain: SurfaceDomainState, record: SurfaceRecord, source: string): SurfaceDomainState;
export declare function updateWatcherDomainFromRecord(domain: WatcherDomainState, record: WatcherRecord, source: string): WatcherDomainState;
export declare function syncSessionStatePatch(domain: SessionDomainState, patch: Partial<SessionDomainState>, source: string): SessionDomainState;
//# sourceMappingURL=sync.d.ts.map