import type { AcpConnection } from '../store/domains/acp.js';
import type { RemoteRunnerContract } from './types.js';
import type { RemoteCapabilitySnapshot } from './capabilities.js';
import type { RemoteHeartbeatSnapshot } from './heartbeat.js';
import type { RemoteRecoveryAction } from './recovery.js';
import type { RemoteNegotiationSnapshot } from './negotiation.js';
export interface RemoteSessionStateSnapshot {
    readonly runnerId: string;
    readonly label: string;
    readonly transportState: string;
    readonly taskId?: string;
    readonly messageCount: number;
    readonly errorCount: number;
    readonly lastError?: string;
    readonly heartbeat: RemoteHeartbeatSnapshot;
    readonly negotiation: RemoteNegotiationSnapshot;
    readonly capabilities: readonly RemoteCapabilitySnapshot[];
    readonly recovery: readonly RemoteRecoveryAction[];
}
export declare function buildRemoteSessionStateSnapshot(input: {
    runnerId: string;
    label: string;
    connection?: AcpConnection | null;
    contract?: RemoteRunnerContract | null;
    heartbeat: RemoteHeartbeatSnapshot;
    negotiation: RemoteNegotiationSnapshot;
    capabilities: readonly RemoteCapabilitySnapshot[];
    recovery: readonly RemoteRecoveryAction[];
}): RemoteSessionStateSnapshot;
//# sourceMappingURL=session-state.d.ts.map