import type { ExternalImportRegistry, ExternalImportTarget, ExternalImportTargetFamily } from './import-metadata.js'; import type { ExternalSignatureMap } from './ecosystem-signatures.js'; export type ExternalBoundaryStringKey = 'runtime' | 'serialization' | 'version' | 'review' | 'reason' | 'protocol' | 'module' | 'session' | 'options' | 'error' | 'timeout'; export type ExternalBoundaryInheritance = { runtime?: string; serialization?: string; version?: string; review?: string; reason?: string; protocol?: string; module?: string; session?: string; options?: string; error?: string; timeout?: string; effects?: string[]; args?: string[]; }; export type ExternalBoundaryIslandShape = { name: string; kind?: string; runtime?: string; serialization?: string; version?: string; review?: string; reason?: string; protocol?: string; module?: string; session?: string; options?: string; error?: string; timeout?: string; effects: string[]; args?: string[]; requiresSidecar: boolean; line?: number; col?: number; }; export type ExternalRuntimeImportShape = { names: string[]; default?: string; from?: string; signature?: string; signatures?: ExternalSignatureMap; types: boolean; line?: number; col?: number; }; export type ExternalBoundaryRuntimeShape = { explicitPackage?: boolean; island?: unknown; imports: ExternalRuntimeImportShape[]; requiresSidecar?: boolean; targetFamily?: string; registry?: string; }; export type ExternalLoosePythonSidecarNameShape = ExternalBoundaryRuntimeShape & { package: string; }; export type ExternalSidecarBoundaryShape = ExternalBoundaryRuntimeShape & { package: string; registry: ExternalImportRegistry; target: ExternalImportTarget; targetFamily: ExternalImportTargetFamily; effects?: string[]; serialization?: string; version?: string; line?: number; col?: number; }; export type ExternalBoundaryShape = { package: string; explicitPackage?: boolean; registry: ExternalImportRegistry; target: ExternalImportTarget; targetFamily: ExternalImportTargetFamily; island?: ExternalBoundaryIslandShape; runtime?: string; protocol?: string; module?: string; args?: string[]; session?: string; options?: string; error?: string; timeout?: string; effects: string[]; serialization?: string; requiresSidecar?: boolean; version?: string; review?: string; reason?: string; imports: ExternalRuntimeImportShape[]; line?: number; col?: number; }; export type ExternalCapabilityIslandShape = ExternalBoundaryIslandShape & { imports: ExternalBoundaryShape[]; }; export type ExternalSidecarPackageShape = { package: string; registry: ExternalImportRegistry; target: ExternalImportTarget; targetFamily: ExternalImportTargetFamily; imports: ExternalRuntimeImportShape[]; version?: string; line?: number; col?: number; }; export type ExternalSidecarIslandShape = { name: string; kind?: string; runtime?: string; protocol?: string; module?: string; args?: string[]; session?: string; options?: string; error?: string; timeout?: string; effects: string[]; serialization?: string; requiresSidecar: boolean; imports: ExternalSidecarBoundaryShape[]; line?: number; col?: number; }; export type ExternalSidecarManifestShape = { name: string; kind?: string; runtime: string; protocol?: string; module?: string; args?: string[]; session?: string; options?: string; error?: string; timeout?: string; effects: string[]; serialization?: string; requiresSidecar: true; packages: ExternalSidecarPackageShape[]; line?: number; col?: number; }; export declare function splitExternalNames(value: unknown): string[]; export declare function externalStringProp(props: Record, key: string): string | undefined; export declare function externalBoolProp(props: Record, key: string): boolean; export declare function mergeExternalEffects(props: Record, island: ExternalBoundaryInheritance | undefined): string[]; export declare function inheritExternalString(props: Record, key: ExternalBoundaryStringKey, island: ExternalBoundaryInheritance | undefined): string | undefined; export declare function inheritExternalArgs(props: Record, island: ExternalBoundaryInheritance | undefined): string[] | undefined; export declare function externalIslandRefFromParts(props: Record, line: number | undefined, col: number | undefined): ExternalBoundaryIslandShape | null; export declare function externalImportBindingFromParts(props: Record, line: number | undefined, col: number | undefined): ExternalRuntimeImportShape; export declare function externalPackageNameFromExternProps(props: Record): string | null; export declare function externalPackageNameFromImportProps(props: Record): string | null; export declare function hasExplicitExternalPackageProp(props: Record): boolean; export declare function externalBoundaryFromExternParts(props: Record, registry: ExternalImportRegistry, target: ExternalImportTarget, targetFamily: ExternalImportTargetFamily, island: ExternalBoundaryIslandShape | undefined, imports: ExternalRuntimeImportShape[], line: number | undefined, col: number | undefined): ExternalBoundaryShape | null; export declare function externalBoundaryFromImportParts(props: Record, registry: ExternalImportRegistry, target: ExternalImportTarget, targetFamily: ExternalImportTargetFamily, island: ExternalBoundaryIslandShape | undefined, importBinding: ExternalRuntimeImportShape, line: number | undefined, col: number | undefined): ExternalBoundaryShape | null; export declare function externalCapabilityIslandFromParts(island: ExternalBoundaryIslandShape | null, imports: ExternalBoundaryShape[]): ExternalCapabilityIslandShape | null; export declare function externalLoosePythonSidecarName(boundary: ExternalLoosePythonSidecarNameShape): string; export declare function hasExternalRuntimeImports(boundary: ExternalBoundaryRuntimeShape): boolean; export declare function externalRuntimeImports(imports: ExternalRuntimeImportShape[]): ExternalRuntimeImportShape[]; export declare function isPythonSidecarBoundaryShape(boundary: ExternalBoundaryRuntimeShape): boolean; export declare function isLoosePythonBoundaryShape(boundary: ExternalBoundaryRuntimeShape): boolean; export declare function externalSidecarPackageKey(sidecarPackage: ExternalSidecarPackageShape): string; export declare function externalSidecarPackageFromBoundary(boundary: ExternalSidecarBoundaryShape): ExternalSidecarPackageShape; export declare function externalBoundaryFromParts(packageName: string, registry: ExternalImportRegistry, target: ExternalImportTarget, targetFamily: ExternalImportTargetFamily, props: Record, island: ExternalBoundaryIslandShape | undefined, imports: ExternalRuntimeImportShape[], line: number | undefined, col: number | undefined): ExternalBoundaryShape; export declare function externalSidecarManifestFromIsland(island: ExternalSidecarIslandShape): ExternalSidecarManifestShape | null; export declare function externalLooseSidecarManifestFromBoundary(name: string, boundary: ExternalSidecarBoundaryShape, sidecarPackage: ExternalSidecarPackageShape): ExternalSidecarManifestShape; export declare function mergeExternalSidecarManifestPackage(manifest: ExternalSidecarManifestShape, sidecarPackage: ExternalSidecarPackageShape, effects: string[] | undefined): ExternalSidecarManifestShape; export declare function externalSidecarManifestsFromParts(islands: ExternalSidecarIslandShape[], boundaries: ExternalSidecarBoundaryShape[]): ExternalSidecarManifestShape[];