import { ImportDeclarationStructure, OptionalKind, SourceFile } from 'ts-morph'; /** * This function, `CoerceImports`, is used to coerce import declarations in a given source file. It takes two parameters: `sourceFile` and `structures`. * * @param {SourceFile} sourceFile - The source file in which the import declarations are to be processed. This is an instance of the `SourceFile` class. * * @param {Array> | OptionalKind} structures - An array of import declaration structures or a single import declaration structure. Each structure can be of type `OptionalKind`, which means it may or may not contain certain properties. * * The function iterates over each import declaration structure in `structures`. For each structure, it extracts the following properties: `moduleSpecifier`, `namedImports`, `namespaceImport`, `isTypeOnly`, and `defaultImport`. * * If `namedImports` is present, it checks if the named imports are supported using the `isSupportedNamedImports` function. If not, it throws an error. If they are supported, it coerces the named imports using the `coerceNamedImports` function. * * If `namespaceImport` is present, it coerces the namespace import using the `coerceNamespaceImport` function. * * If `defaultImport` is present, it coerces the default import using the `coerceDefaultImport` function. * * The function does not return any value. * * Note: This function does not modify the original `sourceFile` or `structures` parameters. It only processes and validates the import declarations. */ export declare function CoerceImports(sourceFile: SourceFile, structures: Array> | OptionalKind): void;