import { File } from 'atma-io'; import { class_Uri } from 'atma-utils'; import { ISlotsParserOption, TSourceFileImport } from './models'; import type { ContractDefinition, EnumDefinition, ImportDirective, StructDefinition, TypeDefinition } from '@solidity-parser/parser/dist/src/ast-types'; export declare class TSourceFileContract { file: SourceFile; contract: ContractDefinition | StructDefinition; } export declare class SourceFile { source?: string; inMemoryFile?: ISlotsParserOption['files']; path: string; version: string; /** @deprecated Use the getter methods for URI or content */ file: InstanceType; constructor(path: string, source?: string, inMemoryFile?: ISlotsParserOption['files']); getAst(): Promise; getContent(): Promise; getUri(): Promise; private reapplyParents; getImports(): Promise; /** * @returns Inheritance chain: From base (root) class to the most derived class. */ getContractInheritanceChain(name?: string): Promise; getContract(name?: string): Promise; getStruct(name?: string): Promise; getUserDefinedType(name: string, skipImports?: { [path: string]: boolean; }): Promise; } export declare namespace SourceFileImports { function resolveSourceFile(parent: SourceFile, importNode: ImportDirective, inMemFiles?: { path: string; content: string; }[]): Promise; }