import { KeyPath } from './configuration';
export interface Contributions {
    actions?: ActionContribution[];
    menus?: MenuContributions;
}
export interface ActionContribution {
    id: string;
    command: string;
    commandArguments?: any[];
    title?: string;
    category?: string;
    description?: string;
    iconURL?: string;
    actionItem?: ActionItem;
}
export interface ActionContributionClientCommandOpen extends ActionContribution {
    command: 'open';
    commandArguments: [string];
}
export interface ActionContributionClientCommandUpdateConfiguration extends ActionContribution {
    command: 'updateConfiguration';
    commandArguments: [KeyPath, any] | [KeyPath, string, null, 'json'];
}
export interface ActionItem {
    label?: string;
    description?: string;
    iconURL?: string;
    iconDescription?: string;
}
export declare enum ContributableMenu {
    CommandPalette = "commandPalette",
    GlobalNav = "global/nav",
    EditorTitle = "editor/title",
    DirectoryPage = "directory/page",
    Help = "help"
}
export interface MenuContributions extends Partial<Record<ContributableMenu, MenuItemContribution[]>> {
}
export interface MenuItemContribution {
    action: string;
    alt?: string;
    when?: string;
    group?: string;
}
export declare enum ContributableViewContainer {
    Panel = "window/panel"
}
