import { Action, PopupHoverMouseListener, RequestPopupModelAction, SButton, SButtonSchema, SModelElement, SModelElementSchema, SModelRootSchema } from "sprotty/lib";
import { TheiaDiagramServerProvider, IRootPopupModelProvider } from '../theia-diagram-server';
import { CodeAction, Range } from '@theia/languages/lib/browser';
export declare class CodeActionProvider {
    diagramServerProvider: TheiaDiagramServerProvider;
    getCodeActions(range: Range, codeActionKind: string): Promise<(import("../../../../node_modules/vscode-languageserver-types/lib/umd/main").Command | CodeAction)[] | null>;
}
/**
 * A popup-palette based on code actions.
 */
export declare class CodeActionPalettePopupProvider implements IRootPopupModelProvider {
    codeActionProvider: CodeActionProvider;
    getPopupModel(action: RequestPopupModelAction, rootElement: SModelRootSchema): Promise<SModelElementSchema | undefined>;
}
export interface PaletteButtonSchema extends SButtonSchema {
    codeActionKind: string;
    range: Range;
}
export declare class PaletteButton extends SButton {
    codeActionKind: string;
    range: Range;
}
export declare class PaletteMouseListener extends PopupHoverMouseListener {
    codeActionProvider: CodeActionProvider;
    diagramServerProvider: TheiaDiagramServerProvider;
    mouseDown(target: SModelElement, event: MouseEvent): (Action | Promise<Action>)[];
    getWorkspaceEditAction(target: PaletteButton): Promise<Action>;
}
//# sourceMappingURL=code-action-palette.d.ts.map