import { PluginBase, PluginMeta } from "./PluginBase";
import { PluginContext } from "./types";
export interface LintJob {
    filePath: string;
    extension: string;
    command: string;
}
export interface LintRunState {
    current: LintJob | null;
    next: LintJob | null;
}
export declare class LinterPlugin extends PluginBase {
    static readonly meta: PluginMeta;
    meta: PluginMeta;
    private eventService;
    private runState;
    private runTimes;
    constructor(context: PluginContext);
    embed(): Promise<any[]>;
    call(userPrompt: string): Promise<string>;
    handleFilePostEdit(payload: {
        filePath: string;
    }): Promise<void>;
    enqueueLint(filePath: string): Promise<void>;
    private getEstimatedTime;
    private recordRunTime;
    private runLint;
    private onLintFinished;
}
