import type ts from 'typescript'; import { Configuration } from '../../core/configuration/Configuration'; import { ErrorCode } from './ErrorCode'; import { MessageType } from './MessageType'; import { NodeDetails } from '../../core/ts/utils/getNodeDetails'; import { Application } from '../../core/application/Application'; import { WarningCode } from './WarningCode'; import { InfoCode } from './InfoCode'; export interface IRelatedConfigurationOrApplicationMetadata { name: string; fileName: string; nodeDetails: NodeDetails; nameNodeDetails: NodeDetails | null; } export declare abstract class AbstractCompilationMessage { readonly details: string | null; abstract code: ErrorCode | WarningCode | InfoCode; get type(): MessageType; abstract description: string; readonly place: NodeDetails; readonly relatedConfigurationMetadata: IRelatedConfigurationOrApplicationMetadata | null; readonly relatedApplicationMetadata: IRelatedConfigurationOrApplicationMetadata | null; constructor(details: string | null, place: ts.Node, relatedConfiguration: Configuration | null, relatedApplication: Application | null); private getRelatedConfigurationMetadata; }