import { VegaSlimmer } from '../../../../vega-slimmer/vega-slimmer-core';
import { VegaCodeBlock } from '../../vega-code-block';
import { VegaCodeBlockValue } from '../../types';
declare type CodeBlockHistoryState = {
  offset?: number;
  recordHistory: boolean;
};
/**
 * The component value controller.
 */
export declare class VegaCodeBlockValueController extends VegaSlimmer {
  protected value: VegaCodeBlock['value'];
  protected changeEventEmitter: VegaCodeBlock['changeEventEmitter'];
  protected historyController: VegaCodeBlock['historyController'];
  /**
   * Update the component value if code content or code language update.
   *
   * @param {string} code - The new code content.
   * @param {string} language - The new code language.
   * @param {CodeBlockHistoryState} codeBlockHistoryState - Update the history or not.
   */
  updateValue(code: string, language: VegaCodeBlockValue['language'], codeBlockHistoryState?: CodeBlockHistoryState): void;
  /**
   * Set a default value if the value is not defined.
   */
  protected initialValue(): void;
}
export {};
