import { type Event } from '@dxos/async'; import type { ContactsService, DevicesService, EdgeAgentService, IdentityService, InvitationsService, LoggingService, NetworkService, QueueService, SpacesService, SystemService } from '@dxos/protocols/proto/dxos/client/services'; import type { DevtoolsHost } from '@dxos/protocols/proto/dxos/devtools/host'; import type { QueryService } from '@dxos/protocols/proto/dxos/echo/query'; import type { DataService } from '@dxos/protocols/proto/dxos/echo/service'; import type { AppService, ShellService, WorkerService } from '@dxos/protocols/proto/dxos/iframe'; import type { BridgeService } from '@dxos/protocols/proto/dxos/mesh/bridge'; import { type ServiceBundle } from '@dxos/rpc'; export type { QueueService } from '@dxos/protocols/proto/dxos/client/services'; export type ClientServices = { SystemService: SystemService; NetworkService: NetworkService; LoggingService: LoggingService; IdentityService: IdentityService; InvitationsService: InvitationsService; DevicesService: DevicesService; SpacesService: SpacesService; DataService: DataService; QueryService: QueryService; QueueService: QueueService; ContactsService: ContactsService; EdgeAgentService: EdgeAgentService; DevtoolsHost: DevtoolsHost; }; /** * Provide access to client services definitions and service handler. */ export interface ClientServicesProvider { /** * The connection to the services provider was terminated. * This should fire if the services disconnect unexpectedly or during a client reset. */ closed: Event; /** * The underlying service connection was re-established. * Fires after all reconnection callbacks have completed. */ reconnected?: Event; /** * Register a callback to be invoked when services reconnect. * The callback should re-establish any RPC streams. * Reconnection waits for all callbacks to complete before emitting `reconnected`. */ onReconnect?: (callback: () => Promise) => void; descriptors: ServiceBundle; services: Partial; open(): Promise; close(): Promise; } /** * Services supported by host. */ export declare const clientServiceBundle: ServiceBundle; export type IframeServiceBundle = { BridgeService: BridgeService; }; export declare const iframeServiceBundle: ServiceBundle; export type WorkerServiceBundle = { WorkerService: WorkerService; }; export declare const workerServiceBundle: ServiceBundle; export type AppServiceBundle = { AppService: AppService; }; export declare const appServiceBundle: ServiceBundle; export type ShellServiceBundle = { ShellService: ShellService; }; export declare const shellServiceBundle: ServiceBundle; //# sourceMappingURL=service.d.ts.map