import { EventEmitter } from '../../stencil-public-runtime'; import { GlobalSlimmers } from '../../vega-slimmer/vega-slimmer-core'; import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics'; import { VegaCodeBlockRenderer } from './slimmers/renderers/vega-code-block-renderer'; import { VegaCodeBlockContentRenderer } from './slimmers/renderers/vega-code-block-content-renderer'; import { EventEmitSlimmerBase } from '../../helpers/event-manager/slimmers/event-emit-slimmer'; import { VegaCodeBlockValue } from './types'; import { VegaCodeBlockValueController } from './slimmers/controllers/vega-code-block-value-controller'; import { TranslationSlimmer } from '../../helpers/slimmers/translation'; import { CodeContentParseController } from './slimmers/controllers/vega-code-block-content-parse-controller'; import { VegaCodeBlockSelectionController } from './slimmers/controllers/vega-code-block-selection-controller'; import { CodeBlockInputController } from './slimmers/controllers/vega-code-block-input-controller'; import { ChildNodesEventPreventSlimmer } from '../../helpers/event-manager/slimmers/child-nodes-event-prevent-slimmer'; import { VegaCodeBlockFocusController } from './slimmers/controllers/vega-code-block-focus-controller'; import { VegaCodeBlockCopyButtonRenderer } from './slimmers/renderers/vega-code-block-copy-button-renderer'; import { PrismCodeHighlightParseController } from './slimmers/controllers/prism-code-highlight-parse-controller'; import { DefaultCodeHighlightParseController } from './slimmers/controllers/default-code-highlight-parse-controller'; import { ComponentGlobalStyleSlimmer } from '../../helpers/slimmers/component-global-style-slimmer'; import { InsertCompositionTextController } from './slimmers/controllers/insert-composition-text-controller'; import { VegaCodeBlockHistoryController } from './slimmers/controllers/vega-code-block-history-controller'; import { CodeBlockPasteController } from './slimmers/controllers/vega-code-block-input-paste-controller'; /** * A component for capturing and displaying syntax-highlighted code blocks with copy-to-clipboard functionality. * * @vegaVersion 2.50.0 */ export declare class VegaCodeBlock { protected readonly globalSlimmers: GlobalSlimmers; protected readonly componentGlobalStyleSlimmer: ComponentGlobalStyleSlimmer; protected translationSlimmer: TranslationSlimmer; protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer; protected codeBlockRenderer: VegaCodeBlockRenderer; protected contentRenderer: VegaCodeBlockContentRenderer; protected copyButtonRenderer: VegaCodeBlockCopyButtonRenderer; protected valueController: VegaCodeBlockValueController; protected contentParseController: CodeContentParseController; protected prismCodeHighlightParser: PrismCodeHighlightParseController; protected defaultCodeHighlightParser: DefaultCodeHighlightParseController; protected selectionController: VegaCodeBlockSelectionController; protected inputController: CodeBlockInputController; protected insertCompositionTextController: InsertCompositionTextController; protected focusController: VegaCodeBlockFocusController; protected historyController: VegaCodeBlockHistoryController; protected changeEventEmitter: EventEmitSlimmerBase; protected removeEventEmitter: EventEmitSlimmerBase; protected codeBlockPasteController: CodeBlockPasteController; protected eventPreventSlimmer: ChildNodesEventPreventSlimmer; host: HTMLVegaCodeBlockElement; /** * Specifies whether the code block editor is in read-only mode. * * @vegaVersion 2.50.0 */ readOnly: boolean; /** * Specifies whether the code block editor is disabled. * * @vegaVersion 2.50.0 */ disabled: boolean; watchEditableChange(): void; /** * Specifies whether to display the copy button in the code block. * * @vegaVersion 2.50.0 */ showCopyButton: boolean; /** * Specifies whether to display the code line number in the code block. * * @vegaVersion 2.50.0 */ showLineNumber: boolean; /** * Specifies the content or value to be displayed in the code block. * * @vegaVersion 2.50.0 */ value: VegaCodeBlockValue; /** * An event emitter notifying a value change. * * @vegaVersion 2.50.0 */ vegaChange: EventEmitter; /** * An event emitter notifying a value change. * * @vegaVersion 2.50.0 * @eventSemantics namespace:native */ change: EventEmitter; /** * An event emitter notifying the deletion of the code block. By default, the element is removed from the page, but this behavior can be prevented. * * @vegaVersion 2.50.0 */ vegaRemove: EventEmitter; /** * An event emitter notifying the deletion of the code block. By default, the element is removed from the page, but this behavior can be prevented. * * @vegaVersion 2.50.0 * @eventSemantics namespace:native */ remove: EventEmitter; /** * Check the props value to avoid unnecessary updates. * * @param {unknown} newValue - The new props value. * @param {unknown} oldValue - The old props value. * @param {string} name - The property name. * @returns {boolean} Return false to skip the current update flow. */ componentShouldUpdate(newValue: unknown, oldValue: unknown, name: string): boolean; /** * Invoke this method to focus the current code block. * * @vegaVersion 2.50.0 */ doFocus(): Promise; render(): VegaCodeBlock; }