import { IIconService, ThemeType } from '@opensumi/ide-theme';
import { VSCodeContributePoint } from '../../../common';
import { AbstractExtInstanceManagementService } from '../../types';
export interface CommandFormat {
    /**
     * Identifier of the command to execute
     */
    command: string;
    /**
     * Title by which the command is represented in the UI
     */
    title: string;
    /**
     * Short title by which the command is represented in the UI.
     * Menus pick either `title` or `shortTitle` depending on the context in which they show commands.
     */
    shortTitle?: string;
    /**
     * Category string by which the command is grouped in the UI
     */
    category: string;
    icon: {
        [index in ThemeType]: string;
    } | string;
    /**
     * Condition which must be true to enable the command in the UI (menu and keybindings).
     * Does not prevent executing the command by other means, like the `executeCommand`-api.
     */
    enablement?: string;
}
export type CommandsSchema = Array<CommandFormat>;
export declare class CommandsContributionPoint extends VSCodeContributePoint<CommandsSchema> {
    private readonly commandRegistry;
    private readonly extensionService;
    private readonly extensionCommandManager;
    protected readonly iconService: IIconService;
    private readonly config;
    protected readonly extensionManageService: AbstractExtInstanceManagementService;
    contribute(): void;
}
//# sourceMappingURL=commands.d.ts.map