/**
 * @license
 * Copyright 2017 JBoss Inc
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { ChangeDetectorRef } from "@angular/core";
import { Node, ValidationProblem } from "apicurio-data-models";
import { ProblemsService } from "../../_services/problems.service";
import { DocumentService } from "../../_services/document.service";
import { AbstractBaseComponent } from "./base-component";
import { SelectionService } from "../../_services/selection.service";
export declare class ValidationProblemComponent extends AbstractBaseComponent {
    private changeDetectorRef;
    private documentService;
    private problemsService;
    private selectionService;
    protected _model: Node;
    set model(model: Node);
    get model(): Node;
    property: string;
    code: string;
    shallow: boolean;
    debug: boolean;
    private _open;
    left: string;
    top: string;
    private _problems;
    constructor(changeDetectorRef: ChangeDetectorRef, documentService: DocumentService, problemsService: ProblemsService, selectionService: SelectionService);
    protected onDocumentChange(): void;
    onDocumentClick(event: MouseEvent): void;
    onWindowResize(event: MouseEvent): void;
    hasProblems(): boolean;
    validationProblems(): ValidationProblem[];
    icon(): string;
    iconFor(problem: ValidationProblem): string;
    summaryFor(problem: ValidationProblem): string;
    open(event: MouseEvent): void;
    close(): void;
    isOpen(): boolean;
    /**
     * Called whenever the user presses a key.
     * @param event
     */
    onGlobalKeyDown(event: KeyboardEvent): void;
}
