import { StateField } from "@codemirror/state";
import { DecorationSet, EditorView } from "@codemirror/view";
import { Autocompletion } from "../core/Autocompletion.js";
export declare const highlight_extension: StateField<DecorationSet>;
export type ParameterChangeListener = (parameterIndex: number, isLast: boolean) => void;
export declare class ParameterizedCompletion {
    private readonly tc;
    private parameters;
    private forAutocompletion;
    private parameterChangeListener;
    constructor(tc: EditorView);
    getForAutocompletion(): Autocompletion;
    setParameterChangeListener(l: ParameterChangeListener): void;
    replaceSelection(autocompletion: Autocompletion): void;
    next(): void;
    private getParamIndexForCursor;
    getCurrentParameter(): ParsedParam | undefined;
    previous(): void;
    cycle(currentParameterIndex: number): void;
    cancel(): void;
    handleKeyEvent(event: KeyboardEvent): void;
    static parseParameters(autocompletion: Autocompletion, ret: ParsedParam[], offset?: number): string;
}
export declare class ParsedParam {
    readonly name: string;
    readonly i0: number;
    readonly i1: number;
    readonly autocompletion: Autocompletion;
    constructor(name: string, i0: number, i1: number, autocompletion: Autocompletion);
    toString(): string;
}
//# sourceMappingURL=ParameterizedCompletion.d.ts.map