import type { ExposeEndpointsRepository } from "../../storage/exposeEndpointsRepository.js"; import type { ConfigModule } from "../config/configModule.js"; import type { EngineEventBus } from "../ipc/events.js"; import { type ExposeCreateInput, type ExposeEndpoint, type ExposeProviderRegistrationApi, type ExposeTunnelProvider, type ExposeUpdateInput } from "./exposeTypes.js"; export type ExposesOptions = { config: ConfigModule; eventBus: EngineEventBus; exposeEndpoints?: Pick; fallbackUserIdResolve?: () => Promise; }; /** * Coordinates endpoint state, proxy routes, and tunnel providers. * Expects: providers are registered before `start()` for deterministic restore. */ export declare class Exposes implements ExposeProviderRegistrationApi { private readonly lock; private readonly proxy; private readonly exposeEndpoints; private readonly fallbackUserIdResolve; private readonly providers; private readonly endpoints; private readonly activeDomains; private proxyPort; private started; constructor(options: ExposesOptions); start(): Promise; stop(): Promise; registerProvider(provider: ExposeTunnelProvider): Promise; unregisterProvider(instanceId: string): Promise; listProviders(): Array<{ instanceId: string; domain: string; capabilities: { public: boolean; localNetwork: boolean; }; }>; create(input: ExposeCreateInput, userIdOverride?: string): Promise<{ endpoint: ExposeEndpoint; password?: string; }>; remove(endpointId: string): Promise; update(endpointId: string, input: ExposeUpdateInput): Promise<{ endpoint: ExposeEndpoint; password?: string; }>; list(): Promise; private providerSelect; private endpointsLoad; private endpointActivate; private endpointDeactivate; } //# sourceMappingURL=exposes.d.ts.map