import type { RuntimeServices } from './services.js';
import type { UiReadModel } from '@pellux/goodvibes-sdk/platform/runtime/ui-read-models-base';
import type { RemoteSupervisorSnapshot } from './remote/supervisor.js';
import type { DistributedPendingWork, DistributedPeerRecord, DistributedRuntimePairRequest } from '@pellux/goodvibes-sdk/platform/runtime/remote/distributed-runtime-types';
export interface UiRemoteSnapshot {
    readonly daemon: {
        readonly transportState: string;
        readonly isRunning: boolean;
        readonly reconnectAttempts: number;
        readonly runningJobCount: number;
        readonly lastError?: string;
    };
    readonly acp: {
        readonly transportState: string;
        readonly totalMessages: number;
        readonly activeConnections: readonly import('@pellux/goodvibes-sdk/platform/runtime/store/domains/acp').AcpConnection[];
    };
    readonly pools: ReturnType<RuntimeServices['remoteRunnerRegistry']['listPools']>;
    readonly contracts: ReturnType<RuntimeServices['remoteRunnerRegistry']['listContracts']>;
    readonly artifacts: ReturnType<RuntimeServices['remoteRunnerRegistry']['listArtifacts']>;
    readonly supervisor: RemoteSupervisorSnapshot;
    readonly distributed: {
        readonly pairRequests: readonly DistributedRuntimePairRequest[];
        readonly peers: readonly DistributedPeerRecord[];
        readonly work: readonly DistributedPendingWork[];
    };
}
export interface UiRemoteReadModels {
    readonly remote: UiReadModel<UiRemoteSnapshot>;
}
export declare function createRemoteReadModels(runtimeServices: RuntimeServices): UiRemoteReadModels;
//# sourceMappingURL=ui-read-models-observability-remote.d.ts.map