export declare class RhamtModel {
    configurations: Map<string, RhamtConfiguration>;
    getConfigurations(): RhamtConfiguration[];
}
export interface IUniqueElement {
    id: string;
}
export declare class RhamtConfiguration implements IUniqueElement {
    id: string;
    name?: string;
    input?: string[];
    output?: string;
    options?: IOption[];
    server?: {
        port: number;
        family: string;
        address: string;
    };
    constructor(id?: string);
}
export interface IExecutionResult extends IUniqueElement {
    hints: IHint[];
    classifications: IClassification[];
}
export interface IIssue extends IUniqueElement {
    quickfixes: IQuickFix[];
    file: string;
    severity: string;
    ruleId: string;
    effort: string;
    title: string;
    messageOrDescription: string;
    links: ILink[];
    report: string;
}
export interface IHint extends IIssue {
    originalLineSource: string;
    lineNumber: number;
    column: number;
    length: number;
    sourceSnippet: string;
}
export interface IClassification extends IIssue {
}
export declare type IQuickFixType = 'REPLACE' | 'DELETE_LINE' | 'INSERT_LINE' | 'TRANSFORMATION';
export interface IQuickFix extends IUniqueElement {
    type: IQuickFixType;
    searchString: string;
    replacementString: string;
    newLine: string;
    transformationId: string;
    name: string;
    file: string;
}
export interface ILink extends IUniqueElement {
    description: string;
    url: string;
}
export interface IReport extends IUniqueElement {
    inputFile: string;
    reportLocation: string;
}
export interface IMigrationPath extends IUniqueElement {
    pahtId: string;
    source: ITechnology;
    target: ITechnology;
}
export interface ITechnology extends IUniqueElement {
    technologyId: string;
    versionRange: string;
}
export interface IOption extends IUniqueElement {
    name: string;
    value: string;
}
export interface IIgnorePattern extends IUniqueElement {
    pattern: string;
    enabled: boolean;
}
