import { RuleMap } from '../config/parse.js'; import { PluginMetadataWithConfig, RuleMetadataWithConfig } from '../types.js'; import { ValidationResult, RuleMetadata, RuleConfig, ToolPlugin } from './sarif.js'; import { Incremental, Resource, Plugin, PluginMetadata, CustomSchema, ValidateOptions } from './types.js'; export declare abstract class AbstractPlugin implements Plugin { protected _metadata: PluginMetadata; configured: boolean; protected _toolComponentIndex: number; protected _enabled: boolean; protected _rules: RuleMetadata[]; protected _ruleReverseLookup: Map; protected _policyRuleReverseLookup: Map; protected _ruleNameToIdLookup: Map; protected _ruleConfig: Map; protected _previous: ValidationResult[]; constructor(metadata: PluginMetadata, rules: RuleMetadata[]); protected setRules(rules: RuleMetadata[]): void; get metadata(): PluginMetadataWithConfig; get rules(): RuleMetadataWithConfig[]; get toolComponent(): ToolPlugin; get toolComponentIndex(): number; set toolComponentIndex(value: number); get name(): string; get enabled(): boolean; set enabled(value: boolean); hasRule(rule: string): boolean; isRuleEnabled(rule: string): boolean; protected createValidationResult(ruleId: string, args: Omit): ValidationResult | undefined; configure(config: { rules?: RuleMap; settings?: any; }): Promise; protected preconfigureRules(rules?: RuleMap): void; protected configureRules(rules?: RuleMap): void; protected configurePlugin(settings: any | undefined): Promise; registerCustomSchema(schema: CustomSchema, crd?: Resource): void | Promise; unregisterCustomSchema(schema: Omit): void | Promise; validate(resources: Resource[], options?: ValidateOptions): Promise; protected abstract doValidate(resources: Resource[], options: ValidateOptions): Promise; protected getRuleConfig(ruleId: string): RuleConfig; protected merge(previous: ValidationResult[], current: ValidationResult[], incremental?: Incremental): ValidationResult[]; clear(): Promise; unload(): Promise; }