import { B as PlatformSelector, R as DeviceTarget, c as DaemonServerMode, l as DaemonTransportPreference, p as LeaseBackend, v as SessionIsolationMode, y as SessionRuntimeHints } from "./sdk-contracts.js"; //#region src/client/client-companion-tunnel-contract.d.ts type CompanionTunnelScope = { tenantId: string; runId: string; leaseId: string; }; type MetroBridgeScope = CompanionTunnelScope; //#endregion //#region src/metro/metro-types.d.ts /** Re-export of {@link SessionRuntimeHints} under the Metro-specific alias used by public API consumers. */ type MetroRuntimeHints = SessionRuntimeHints; type MetroBridgeResult = { enabled: boolean; baseUrl: string; statusUrl: string; bundleUrl: string; iosRuntime: MetroRuntimeHints; androidRuntime: MetroRuntimeHints; upstream: { bundleUrl: string; host: string; port: number; statusUrl: string; }; probe: { reachable: boolean; statusCode: number; latencyMs: number; detail: string; }; }; type MetroBridgeRuntimePayload = { metro_host?: string; metro_port?: number; metro_bundle_url?: string; launch_url?: string; }; type MetroBridgeDescriptor = { enabled: boolean; base_url: string; status_url?: string; bundle_url?: string; ios_runtime: MetroBridgeRuntimePayload; android_runtime: MetroBridgeRuntimePayload; upstream: { bundle_url?: string; host?: string; port?: number; status_url?: string; }; probe: { reachable: boolean; status_code: number; latency_ms: number; detail: string; }; }; //#endregion //#region src/metro/client-metro.d.ts type MetroPrepareKind = 'auto' | 'react-native' | 'expo' | 'repack'; type ResolvedMetroKind = Exclude; type PrepareMetroRuntimeResult = { projectRoot: string; kind: ResolvedMetroKind; dependenciesInstalled: boolean; packageManager: string | null; started: boolean; reused: boolean; pid: number; logPath: string; statusUrl: string; runtimeFilePath: string | null; iosRuntime: MetroRuntimeHints; androidRuntime: MetroRuntimeHints; bridge: MetroBridgeResult | null; }; type ReloadMetroResult = { reloaded: true; reloadUrl: string; status: number; body: string; }; //#endregion //#region src/remote/remote-config-schema.d.ts type RemoteConfigMetroOptions = { metroProjectRoot?: string; metroKind?: MetroPrepareKind; metroPublicBaseUrl?: string; metroProxyBaseUrl?: string; metroBearerToken?: string; metroPreparePort?: number; metroListenHost?: string; metroStatusHost?: string; metroStartupTimeoutMs?: number; metroProbeTimeoutMs?: number; metroRuntimeFile?: string; metroNoReuseExisting?: boolean; metroNoInstallDeps?: boolean; }; type RemoteConnectionProfileFields = { stateDir?: string; daemonBaseUrl?: string; daemonAuthToken?: string; daemonTransport?: DaemonTransportPreference; daemonServerMode?: DaemonServerMode; tenant?: string; sessionIsolation?: SessionIsolationMode; runId?: string; leaseId?: string; leaseBackend?: LeaseBackend; leaseProvider?: string; deviceKey?: string; clientId?: string; }; type CloudProviderProfileFields = { providerApp?: string; providerOsVersion?: string; providerProject?: string; providerBuild?: string; providerSessionName?: string; awsProjectArn?: string; awsDeviceArn?: string; awsAppArn?: string; awsRegion?: string; awsInteractionMode?: 'INTERACTIVE' | 'NO_VIDEO' | 'VIDEO_ONLY'; }; type RemoteConfigProfile = RemoteConfigMetroOptions & CloudProviderProfileFields & RemoteConnectionProfileFields & { platform?: PlatformSelector; target?: DeviceTarget; device?: string; udid?: string; serial?: string; iosSimulatorDeviceSet?: string; androidDeviceAllowlist?: string; session?: string; }; //#endregion export { PrepareMetroRuntimeResult as a, MetroBridgeScope as c, MetroPrepareKind as i, RemoteConfigProfile as n, ReloadMetroResult as o, RemoteConnectionProfileFields as r, MetroBridgeDescriptor as s, CloudProviderProfileFields as t };