import * as monacoTypes from "monaco-editor/esm/vs/editor/editor.api";
import { generateTokensProvider } from "./generateTokensProvider";
export type CodeEditorColorConfig = {
    token: string;
    foreground: `#${string}`;
};
export type CodeEditorError = {
    startLine: number;
    endLine: number;
    startColumn: number;
    endColumn: number;
    message: string;
};
interface Props {
    language: string;
    TokensProvider?: ReturnType<typeof generateTokensProvider>;
    onChange?: (value?: string) => void;
    onError?: (errors: Array<CodeEditorError>) => void;
    colorConfig?: Array<CodeEditorColorConfig>;
    value?: string;
    defaultValue?: string;
    error?: CodeEditorError;
    /** Placeholder text that supports code formatting, indentation, and line breaks */
    placeholder?: string;
    isReadOnly?: boolean;
    height?: string;
    resizable?: boolean;
    /**
     * Provides autocomplete suggestions. The provider is invoked on trigger characters and on Ctrl+Space,
     * and additionally as the user types when `quickSuggestions` is enabled.
     */
    completionItemProvider?: monacoTypes.languages.CompletionItemProvider;
    /** When true, suggestions appear as the user types. Defaults to false to match the previous behavior. */
    quickSuggestions?: boolean;
    "data-testid"?: string;
}
/**
 * Generic (to console) code editor that wraps React Monaco Editor.
 * As the need arises, this component can accept props to customize the internal Monaco editor options.
 */
export declare const VuiCodeEditor: ({ language: languageProp, TokensProvider, onChange, placeholder, onError, colorConfig, value, defaultValue, error, isReadOnly, height, resizable, completionItemProvider, quickSuggestions, "data-testid": testId }: Props) => import("react/jsx-runtime").JSX.Element;
export {};
