import { ReplaySubject } from 'rxjs/ReplaySubject';
import { Observable } from 'rxjs/Observable';
import { SchemaValidationProblems, CategorizedValidationProblems, ValidationProblem } from '../interfaces';
export declare class ProblemsService {
    readonly externalCategorizedProblems$: ReplaySubject<CategorizedValidationProblems>;
    readonly internalCategorizedProblems$: ReplaySubject<CategorizedValidationProblems>;
    private readonly externalProblemCount$;
    private readonly internalProblemCount$;
    readonly errorCount$: Observable<number>;
    readonly warningCount$: Observable<number>;
    readonly internalProblemMap$: ReplaySubject<SchemaValidationProblems>;
    private internalProblemMap;
    private internalCategorizedProblemMap;
    private externalCategorizedProblemMap;
    private externalProblemCount;
    private internalProblemCount;
    constructor();
    private getTotalDistinctProblemCount$ForType(type);
    externalProblems: SchemaValidationProblems;
    setInternalProblemsForPath(path: string, problems: Array<ValidationProblem>): void;
    private internalProblemCountForPath(path, type);
    hasProblem(path: string): boolean;
    private categorizeProblemMap(problemMap);
    private categorizeValidationProblems(validationProblems);
}
