import { Plugin } from 'vite';
import { EditorFeature, EditorLanguage, IFeatureDefinition, NegatedEditorFeature } from 'monaco-editor/esm/metadata.js';
/**
 * Configuration value of available monaco languages
 */
type Languages = '*' | 'all' | EditorLanguage[];
/**
 * Configuration value of available monaco features
 */
type Features = '*' | 'all' | ("codicons" | EditorFeature | NegatedEditorFeature)[];
/**
 * Options for the plugin
 */
export interface MonacoOptions {
    /**
     * Configures the available monaco features
     */
    features?: Features;
    /**
     * Configures the available monaco standard languages
     */
    languages?: Languages;
    /**
     * Configures custom languages
     */
    customLanguages?: IFeatureDefinition[];
    /**
     * If this is set to `true`, the a global `monaco` object is published in the browser.
     */
    globalAPI?: boolean;
}
/**
 * Plugin to control monaco-editor bundeling
 *
 * @param options options for the plugin
 * @returns a new plugin instance
 */
export declare function monaco(options?: MonacoOptions): Plugin;
export {};
