import * as typescript from 'typescript'; interface Options { /** Determines the name of the property used in the manifest to store the expanded type */ propertyName?: string; /** Hides logs produced by the plugin */ hideLogs?: boolean; /** Prevents plugin from executing */ skip?: boolean; } /** * CEM Analyzer plugin to expand types in component metadata * @param tc TypeScript type checker * @param op Configuration options * @returns */ declare function expandTypesPlugin(op?: Options): { name: string; collectPhase: typeof collectPhase; analyzePhase: typeof analyzePhase; packageLinkPhase: () => void; } | undefined; /** * * @param ts Global TypeScript object * @param globs File globs to analyze * @param configName TypeScript config file name to use during analysis * @returns */ declare function getTsProgram(ts: typeof typescript, globs: string[], configName?: string): typescript.Program; declare function collectPhase({ ts, node }: any): void; declare function analyzePhase({ ts, node, moduleDoc, context }: any): void; export { expandTypesPlugin, getTsProgram };