/********************************************************************************
 * Copyright (c) 2019-2024 EclipseSource and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/
import { Bounds, GIssue, GIssueSeverity, GParentElement, Marker, Projectable, SIssueMarkerImpl } from '@eclipse-glsp/sprotty';
export declare class GIssueMarker extends SIssueMarkerImpl implements Projectable {
    constructor();
    projectionCssClasses: string[];
    projectedBounds?: Bounds;
    issues: GIssue[];
    type: string;
    computeProjectionCssClasses(): void;
}
/**
 * Retrieves the `GIssueMarker` contained by the provided model element as
 * direct child or a newly instantiated `GIssueMarker` if no child
 * `GIssueMarker` exists.
 * @param modelElement for which the `GIssueMarker` should be retrieved or created.
 * @returns the child `GIssueMarker` or a new `GIssueMarker` if no such child exists.
 */
export declare function getOrCreateGIssueMarker(modelElement: GParentElement): GIssueMarker;
/**
 * Retrieves the `GIssueMarker` contained by the provided model element as
 * direct child or `undefined` if such an `GIssueMarker` does not exist.
 * @param modelElement for which the `GIssueMarker` should be retrieved.
 * @returns the child `GIssueMarker` or `undefined` if no such child exists.
 */
export declare function getGIssueMarker(modelElement: GParentElement): GIssueMarker | undefined;
/**
 * Creates an `GIssue` with `severity` and `message` set according to
 * the `kind` and `description` of the provided `Marker`.
 * @param marker `Marker` for that an `GIssue` should be created.
 * @returns the created `GIssue`.
 */
export declare function createGIssue(marker: Marker, parent?: GParentElement): GIssue;
export declare function getSeverity(marker: GIssueMarker): GIssueSeverity;
//# sourceMappingURL=issue-marker.d.ts.map