import { ServiceBindingRegistry } from './registry.js'; import type { BindingStatusReport, ExportedServiceDefinition, ServiceBindingConfiguration, ServiceDiagnostic, ServiceExportOptions } from './types.js'; export declare class ServiceBindingRuntime { private static instance; readonly registry: ServiceBindingRegistry; private currentServiceId; private environment; private enforceAuthorization; private enforceAuthorizationOnMocks; constructor(registry?: ServiceBindingRegistry); static get current(): ServiceBindingRuntime; static reset(): void; setCurrentServiceId(id: string): void; getCurrentServiceId(): string; setEnvironment(env: string): void; getEnvironment(): string; setEnforceAuthorization(enforce: boolean): void; setEnforceAuthorizationOnMocks(enforce: boolean): void; /** * Load service bindings and grants from configuration. */ configure(config: ServiceBindingConfiguration): this; /** * Register an exported service implementation. */ registerExportedService(targetClassOrInstance: any, options: ServiceExportOptions): ExportedServiceDefinition; /** * Invoke an exported operation on a target service through a named binding. */ invoke(caller: string, bindingName: string, operation: string, args?: any[], explicitTarget?: string): Promise; /** * Substitute a mock for a named binding. */ substituteMock(bindingName: string, mock: any, caller?: string): void; /** * Clear all mocks. */ clearMocks(): void; /** * Get binding status report across all configured bindings. */ getStatus(): BindingStatusReport[]; /** * Diagnose binding configuration issues. */ diagnose(): ServiceDiagnostic[]; private loadFromEnvironment; } export declare function useServiceBindingRuntime(): ServiceBindingRuntime;