import type { ApprovalBroker } from '../control-plane/approval-broker.js'; import type { SharedSessionBroker } from '../control-plane/session-broker.js'; import type { SecretsManager } from '../config/secrets.js'; import type { ServiceRegistry } from '../config/service-registry.js'; import type { SubscriptionManager } from '../config/subscriptions.js'; import type { ProviderRegistry } from '../providers/registry.js'; import type { RuntimeServices } from './services.js'; import type { ShellPathService } from './shell-paths.js'; import type { UiRuntimeEvents } from './ui-events.js'; import { createCoreReadModels } from './ui-read-models-core.js'; import { createOperationsReadModels, type UiOperationsReadModelOptions } from './ui-read-models-operations.js'; import type { PeerClientDependencies } from './peer-client.js'; export interface OperatorClientReadModels { readonly controlPlane: ReturnType['controlPlane']; readonly providers: ReturnType['providers']; readonly session: ReturnType['session']; readonly tasks: ReturnType['tasks']; } export interface OperatorClientServices { readonly events: UiRuntimeEvents; readonly shellPaths: ShellPathService; readonly readModels: OperatorClientReadModels; readonly sessionBroker: SharedSessionBroker; readonly approvalBroker: ApprovalBroker; readonly providerRegistry: ProviderRegistry; readonly serviceRegistry: ServiceRegistry; readonly subscriptionManager: SubscriptionManager; readonly secretsManager: SecretsManager; } export interface OperatorClientServicesOptions extends UiOperationsReadModelOptions { } export interface DirectTransportServices { readonly operator: OperatorClientServices; readonly peer: PeerClientDependencies; } /** * What the operator-client factory actually reads from the runtime-services * composition. Kept a Pick (like createPeerClientDependencies below) so * fork-composed runtimes can call this without the full internal * RuntimeServices shape. */ export type OperatorClientRuntimeSlice = Pick; export declare function createOperatorClientServices(runtimeServices: OperatorClientRuntimeSlice, options?: OperatorClientServicesOptions): OperatorClientServices; export declare function createPeerClientDependencies(runtimeServices: Pick): PeerClientDependencies; export interface DirectTransportServicesOptions extends OperatorClientServicesOptions { } export declare function createDirectTransportServices(runtimeServices: OperatorClientRuntimeSlice & Pick, options?: DirectTransportServicesOptions): DirectTransportServices; //# sourceMappingURL=foundation-services.d.ts.map