import type { IEditorOverrideServices } from "@codingame/monaco-vscode-api/vscode/vs/editor/standalone/browser/standaloneServices";
import type { IUserFriendlyKeybinding } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding";
import type { IFileWriteOptions } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files";
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
declare const defaultUserKeybindindsFile: URI;
/**
 * Should be called only BEFORE the service are initialized to initialize the file on the filesystem before the keybindings service initializes
 */
declare function initUserKeybindings(configurationJson: string, options?: Partial<IFileWriteOptions>, file?: URI): Promise<void>;
/**
 * Can be called at any time after the services are initialized to update the user configuration
 */
declare function updateUserKeybindings(keybindingsJson: string): Promise<void>;
interface KeybindingsProps {
    shouldUseGlobalKeybindings?: () => boolean;
}
export default function getServiceOverride({ shouldUseGlobalKeybindings }?: KeybindingsProps): IEditorOverrideServices;
export { defaultUserKeybindindsFile, initUserKeybindings, updateUserKeybindings };
export type { IUserFriendlyKeybinding };