import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event"; import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service"; import { LinuxDistro } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal"; import { ITerminalConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service"; import type { IXtermCore } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/xterm-private"; import { ITerminalConfiguration, type ITerminalFont } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/common/terminal"; import { TerminalLocation } from "@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal"; export declare class TerminalConfigurationService extends Disposable implements ITerminalConfigurationService { private readonly _configurationService; _serviceBrand: undefined; protected _fontMetrics: TerminalFontMetrics; private _skipTerminalCommands; protected _config: Readonly; get config(): Readonly; get defaultLocation(): TerminalLocation; private readonly _onConfigChanged; get onConfigChanged(): Event; constructor(_configurationService: IConfigurationService); setPanelContainer(panelContainer: HTMLElement): void; configFontIsMonospace(): boolean; getFont(w: Window, xtermCore?: IXtermCore, excludeDimensions?: boolean): ITerminalFont; shouldCommandSkipShell(commandId: string): boolean; private _updateConfig; private _normalizeFontWeight; } export declare class TerminalFontMetrics extends Disposable { private readonly _terminalConfigurationService; private readonly _configurationService; private _panelContainer; private _charMeasureElement; private _lastFontMeasurement; linuxDistro: LinuxDistro; constructor(_terminalConfigurationService: ITerminalConfigurationService, _configurationService: IConfigurationService); setPanelContainer(panelContainer: HTMLElement): void; configFontIsMonospace(): boolean; /** * Gets the font information based on the terminal.integrated.fontFamily * terminal.integrated.fontSize, terminal.integrated.lineHeight configuration properties */ getFont(w: Window, xtermCore?: IXtermCore, excludeDimensions?: boolean): ITerminalFont; private _createCharMeasureElementIfNecessary; private _getBoundingRectFor; private _measureFont; }