import { MenuContribution, MenuModelRegistry } from '../common/menu';
import { KeybindingContribution, KeybindingRegistry } from './keybinding';
import { FrontendApplication, FrontendApplicationContribution, OnWillStopAction } from './frontend-application';
import { CommandContribution, CommandRegistry, Command } from '../common/command';
import { SelectionService } from '../common/selection-service';
import { MessageService } from '../common/message-service';
import { OpenerService } from '../browser/opener-service';
import { ApplicationShell } from './shell/application-shell';
import { AboutDialog } from './about-dialog';
import { ContextKey, ContextKeyService } from './context-key-service';
import { ResourceContextKey } from './resource-context-key';
import { StorageService } from './storage-service';
import { IconThemeService } from './icon-theme-service';
import { ColorContribution } from './color-application-contribution';
import { ColorRegistry } from './color-registry';
import { CoreConfiguration, CorePreferences } from './core-preferences';
import { ThemeService } from './theming';
import { PreferenceService, PreferenceChangeEvent } from './preferences';
import { ClipboardService } from './clipboard-service';
import { EncodingRegistry } from './encoding-registry';
import { EnvVariablesServer } from '../common/env-variables';
import { AuthenticationService } from './authentication-service';
import { SaveOptions } from './saveable';
import { QuickInputService } from './quick-input';
import { AsyncLocalizationProvider } from '../common/i18n/localization';
import { WindowService } from './window/window-service';
import { Title, Widget } from './widgets';
import { SaveResourceService } from './save-resource-service';
export declare namespace CommonMenus {
    const FILE: string[];
    const FILE_NEW: string[];
    const FILE_OPEN: string[];
    const FILE_SAVE: string[];
    const FILE_AUTOSAVE: string[];
    const FILE_SETTINGS: string[];
    const FILE_SETTINGS_SUBMENU: string[];
    const FILE_SETTINGS_SUBMENU_OPEN: string[];
    const FILE_SETTINGS_SUBMENU_THEME: string[];
    const FILE_CLOSE: string[];
    const EDIT: string[];
    const EDIT_UNDO: string[];
    const EDIT_CLIPBOARD: string[];
    const EDIT_FIND: string[];
    const VIEW: string[];
    const VIEW_PRIMARY: string[];
    const VIEW_APPEARANCE: string[];
    const VIEW_APPEARANCE_SUBMENU: string[];
    const VIEW_APPEARANCE_SUBMENU_SCREEN: string[];
    const VIEW_APPEARANCE_SUBMENU_BAR: string[];
    const VIEW_EDITOR_SUBMENU: string[];
    const VIEW_EDITOR_SUBMENU_SPLIT: string[];
    const VIEW_EDITOR_SUBMENU_ORTHO: string[];
    const VIEW_VIEWS: string[];
    const VIEW_LAYOUT: string[];
    const VIEW_TOGGLE: string[];
    const SETTINGS_OPEN: string[];
    const SETTINGS__THEME: string[];
    const HELP: string[];
}
export declare namespace CommonCommands {
    const FILE_CATEGORY = "File";
    const VIEW_CATEGORY = "View";
    const PREFERENCES_CATEGORY = "Preferences";
    const FILE_CATEGORY_KEY: string;
    const VIEW_CATEGORY_KEY: string;
    const PREFERENCES_CATEGORY_KEY: string;
    const OPEN: Command;
    const CUT: Command;
    const COPY: Command;
    const PASTE: Command;
    const COPY_PATH: Command;
    const UNDO: Command;
    const REDO: Command;
    const SELECT_ALL: Command;
    const FIND: Command;
    const REPLACE: Command;
    const NEXT_TAB: Command;
    const PREVIOUS_TAB: Command;
    const NEXT_TAB_IN_GROUP: Command;
    const PREVIOUS_TAB_IN_GROUP: Command;
    const NEXT_TAB_GROUP: Command;
    const PREVIOUS_TAB_GROUP: Command;
    const CLOSE_TAB: Command;
    const CLOSE_OTHER_TABS: Command;
    const CLOSE_SAVED_TABS: Command;
    const CLOSE_RIGHT_TABS: Command;
    const CLOSE_ALL_TABS: Command;
    const CLOSE_MAIN_TAB: Command;
    const CLOSE_OTHER_MAIN_TABS: Command;
    const CLOSE_ALL_MAIN_TABS: Command;
    const COLLAPSE_PANEL: Command;
    const COLLAPSE_ALL_PANELS: Command;
    const TOGGLE_BOTTOM_PANEL: Command;
    const TOGGLE_STATUS_BAR: Command;
    const PIN_TAB: Command;
    const UNPIN_TAB: Command;
    const TOGGLE_MAXIMIZED: Command;
    const OPEN_VIEW: Command;
    const SHOW_MENU_BAR: Command;
    const SAVE: Command;
    const SAVE_WITHOUT_FORMATTING: Command;
    const SAVE_ALL: Command;
    const AUTO_SAVE: Command;
    const ABOUT_COMMAND: Command;
    const OPEN_PREFERENCES: Command;
    const SELECT_COLOR_THEME: Command;
    const SELECT_ICON_THEME: Command;
    const CONFIGURE_DISPLAY_LANGUAGE: Command;
}
export declare const supportCut: boolean;
export declare const supportCopy: boolean;
export declare const supportPaste: boolean;
export declare const RECENT_COMMANDS_STORAGE_KEY = "commands";
export declare class CommonFrontendContribution implements FrontendApplicationContribution, MenuContribution, CommandContribution, KeybindingContribution, ColorContribution {
    protected readonly shell: ApplicationShell;
    protected readonly selectionService: SelectionService;
    protected readonly messageService: MessageService;
    protected readonly openerService: OpenerService;
    protected readonly aboutDialog: AboutDialog;
    protected readonly localizationProvider: AsyncLocalizationProvider;
    protected readonly saveResourceService: SaveResourceService;
    protected commonDecorationsStyleSheet: CSSStyleSheet;
    constructor(shell: ApplicationShell, selectionService: SelectionService, messageService: MessageService, openerService: OpenerService, aboutDialog: AboutDialog, localizationProvider: AsyncLocalizationProvider, saveResourceService: SaveResourceService);
    protected readonly contextKeyService: ContextKeyService;
    protected readonly resourceContextKey: ResourceContextKey;
    protected readonly commandRegistry: CommandRegistry;
    protected readonly storageService: StorageService;
    protected readonly quickInputService: QuickInputService;
    protected readonly iconThemes: IconThemeService;
    protected readonly themeService: ThemeService;
    protected readonly preferences: CorePreferences;
    protected readonly preferenceService: PreferenceService;
    protected readonly clipboardService: ClipboardService;
    protected readonly encodingRegistry: EncodingRegistry;
    protected readonly environments: EnvVariablesServer;
    protected readonly authenticationService: AuthenticationService;
    protected readonly windowService: WindowService;
    protected pinnedKey: ContextKey<boolean>;
    configure(app: FrontendApplication): Promise<void>;
    protected updateStyles(): void;
    protected updatePinnedKey(): void;
    protected updateThemePreference(preferenceName: 'workbench.colorTheme' | 'workbench.iconTheme'): void;
    protected updateThemeFromPreference(preferenceName: 'workbench.colorTheme' | 'workbench.iconTheme'): void;
    protected handlePreferenceChange(e: PreferenceChangeEvent<CoreConfiguration>, app: FrontendApplication): void;
    protected setSashProperties(): void;
    onStart(): void;
    onStop(): void;
    protected initResourceContextKeys(): void;
    registerMenus(registry: MenuModelRegistry): void;
    registerCommands(commandRegistry: CommandRegistry): void;
    protected isElectron(): boolean;
    protected togglePinned(title?: Title<Widget>): void;
    registerKeybindings(registry: KeybindingRegistry): void;
    protected save(options?: SaveOptions): Promise<void>;
    protected openAbout(): Promise<void>;
    protected shouldPreventClose: boolean;
    /**
     * registers event listener which make sure that
     * window doesn't get closed if CMD/CTRL W is pressed.
     * Too many users have that in their muscle memory.
     * Chrome doesn't let us rebind or prevent default the keybinding, so this
     * at least doesn't close the window immediately.
     */
    protected registerCtrlWHandling(): void;
    onWillStop(): OnWillStopAction | undefined;
    protected configureDisplayLanguage(): Promise<void>;
    protected confirmRestart(): Promise<boolean>;
    protected selectIconTheme(): void;
    protected selectColorTheme(): void;
    registerColors(colors: ColorRegistry): void;
}
//# sourceMappingURL=common-frontend-contribution.d.ts.map