import ScadFileProvider, { WithExportedScopes } from "./ScadFileProvider"; import ScadFile from "../ast/ScadFile"; import ErrorCollector from "../ErrorCollector"; import CodeError from "../errors/CodeError"; import CodeLocation from "../CodeLocation"; export declare class IncludedFileNotFoundError extends CodeError { constructor(pos: CodeLocation, filename: string); } export declare class UsedFileNotFoundError extends CodeError { constructor(pos: CodeLocation, filename: string); } export default class IncludeResolver { private provider; constructor(provider: ScadFileProvider); /** * Finds all file includes and returns paths to them * @param f */ resolveIncludes(f: ScadFile, ec: ErrorCollector): Promise[]>; /** * Finds all file uses and returns paths to them. * Uses do not export to parent scopes and do not execute statements inside of the used files. * @param f */ resolveUses(f: ScadFile, ec: ErrorCollector): Promise[]>; locateScadFile(parent: string, relativePath: string): Promise; private static _includeDirsCache; static get includeDirs(): string[]; }