/** * Report whether it is possible to suppress this violation. * * Violations that are reported as "fatal", or that have been converted from annotations, cannot be suppressed. */ export declare function isSuppressibleViolation(violation: { severity?: string; ruleMetadata?: { [key: string]: string; }; }): boolean; export interface ValidationId { readonly namespace?: Namespace; readonly ruleId: string; } /** * Parse a validation ID into a namespace and rule name. * * `::` is used to separate the namespace from the rule name. If no namespace is provided, the `annotation` namespace is assumed. * * The rule name may not contain `::`, except between brackets. * * Right now, this parses and validates balanced brackets, because we assume the * people who invent identifiers are not maniacs. If it turns out this causes * too many problems, we can remove matching bracket validation and just check * for whether any brackets are open, not necessarily whether they match. */ export declare function parseValidationId(id: string): ValidationId; /** * Normalize the given validation ID to a fully qualified ID, using the `annotation` namespace if no namespace is provided. */ export declare function normalizeValidationId(id: string | ValidationId, defaultNamespace: Namespace): string; /** * Normalize the given validation ID to a fully qualified ID, using the `Annotation` namespace if no namespace is provided. */ export declare function normalizeValidationIdForAnnotations(id: string | ValidationId): string; declare const NS: unique symbol; export interface Namespace { [NS]: string; } /** * Convert a plugin name to a namespace for validation IDs. */ export declare function namespaceFromPluginName(pluginName: string): Namespace; /** * Convert a namespace to a displayable plugin name */ export declare function pluginNameFromNamespace(namespace: Namespace): string; export declare const ANNOTATION_PLUGIN_NAME = "Construct Annotations"; export declare const ANNOTATION_PLUGIN_NAMESPACE: Namespace; export {};