import type { RuntimeHost } from './host/types'; import type { RuntimePlatform } from './platform/types'; import type { XpodRuntimeOptions, XpodRuntimePorts, XpodRuntimeSockets } from './runtime-types'; import type { AuthMode } from '../authorization/AuthMode'; export interface RuntimeBootstrapState { id: string; host: RuntimeHost; mode: 'local' | 'cloud'; transport: 'socket' | 'port'; bindHost: string; runtimeRoot: string; rootFilePath: string; sparqlEndpoint: string; rdfIndexPath: string; identityDbUrl: string; usageDbUrl: string; cssAuthMode: AuthMode; apiOpen: boolean; gatewayAdminProxyAuthSecret: string; logLevel: string; baseUrl: string; /** Public canonical origin used by CSS to mint resource IRIs. */ canonicalBaseUrl?: string; envFilePath?: string; ports: XpodRuntimePorts; sockets: XpodRuntimeSockets; } export declare function cssAuthModeConfigImports(authMode: AuthMode): string[]; export declare function resolveRuntimeBootstrap(id: string, options: XpodRuntimeOptions, host: RuntimeHost, platform?: RuntimePlatform): Promise; export declare function buildRuntimeEnv(state: RuntimeBootstrapState, options: XpodRuntimeOptions, envFromFile?: Record): Record; /** * Local endpoints the edge agent uses when it serves P2P peer traffic. * * `targetBaseUrl` is where forwarded peer requests are sent: the ingress listener, * which the Gateway never treats as local. `lanBaseUrl` stays on the gateway * listener because other devices on the LAN must be able to reach it. */ export declare function resolveP2PLocalBaseUrls(state: RuntimeBootstrapState): { targetBaseUrl?: string; lanBaseUrl?: string; }; export declare function buildRuntimeShorthand(runtimeEnv: Record, options: XpodRuntimeOptions, state: RuntimeBootstrapState, baseEnv?: Record): Record; export declare function createCssRuntimeConfig(state: RuntimeBootstrapState, _open?: boolean, platform?: Pick): string; export declare function initRuntimeLogger(level: string, platform?: Pick): void;