import { type AwilixContainer } from 'awilix'; import { getLoggerFor } from 'global-logger-factory'; import { type ApiContainerConfig, type ApiContainerCradle } from './container'; import type { AuthContext } from './auth/AuthContext'; import type { RuntimeHost } from '../runtime/host/types'; import { type EmbeddedInngestRuntimeConfig } from './runs/EmbeddedInngestService'; export interface StartApiServiceOptions { config?: ApiContainerConfig; open?: boolean; authContext?: AuthContext; initializeLogger?: boolean; runtimeHost?: RuntimeHost; } export interface ApiServiceHandle { config: ApiContainerConfig; container: AwilixContainer; inngestRuntimeConfig?: EmbeddedInngestRuntimeConfig; stop: () => Promise; } export declare function autoProvisionFirstRunLocal(config: ApiContainerConfig, logger: ReturnType): Promise; /** * Port a managed tunnel forwards to. * * It must be the Gateway's ingress listener rather than the gateway port itself: * a tunnel terminating on the gateway port reaches the Gateway from loopback and * would let forwarded remote requests inherit local trust. Falls back to the * historical gateway port only when no ingress listener was provisioned. */ export declare function resolveTunnelIngressPort(env?: NodeJS.ProcessEnv): number; export declare function startApiService(options?: StartApiServiceOptions): Promise;