import { ServiceBindingRuntime } from './runtime.js'; import type { BindingStatusReport, ServiceDiagnostic, ServiceExportOptions } from './types.js'; export interface LocalDevServiceRegistration { name: string; instance: any; options: ServiceExportOptions; } /** * Local development coordinator for running and testing multiple bound services * without deploying them or exposing public network endpoints. */ export declare class LocalServiceDevManager { readonly runtime: ServiceBindingRuntime; constructor(runtime?: ServiceBindingRuntime); /** * Register a local service in the dev mesh. */ registerService(name: string, classOrInstance: any, options?: Partial): this; /** * Bind a caller service's named dependency to a target service in local development. * By default, automatically creates an authorized grant unless grantAccess is set to false. */ bind(caller: string, bindingName: string, target: string, options?: { allowedOperations?: string[]; grantAccess?: boolean; mock?: any; }): this; /** * Explicitly grant access from a caller to a target service. */ grant(caller: string, target: string, allowedOperations?: string[]): this; /** * Revoke access from a caller to a target service (to test unbound caller rejection). */ revoke(caller: string, target: string): this; /** * Stop a running service (to test unavailable target error handling). */ stopService(name: string): this; /** * Start a stopped service. */ startService(name: string): this; /** * Reload a service implementation with a new version without restarting callers. */ reloadService(name: string, newClassOrInstance: any, options?: Partial): this; /** * Explicitly substitute a mock for isolated unit testing. */ substituteMock(bindingName: string, mock: any, caller?: string): this; /** * Remove all mocks. */ clearMocks(): this; /** * Retrieve the current binding status report across all local services. */ getStatus(): BindingStatusReport[]; /** * Run diagnostics and return actionable findings. */ diagnose(): ServiceDiagnostic[]; /** * Render a human-readable table summarizing local service binding statuses. */ formatStatusTable(): string; /** * Reset the local development mesh. */ reset(): void; }