import { IHorizontalSashLayoutProvider } from "../../../../base/browser/ui/sash/sash.js"; import { Color } from "../../../../base/common/color.js"; import { DisposableStore } from "../../../../base/common/lifecycle.js"; import { ICodeEditor, IOverlayWidget, IOverlayWidgetPosition, IViewZone } from "../../../browser/editorBrowser.js"; import { EditorLayoutInfo } from "../../../common/config/editorOptions.js"; import { IPosition, Position } from "../../../common/core/position.js"; import { IRange, Range } from "../../../common/core/range.js"; export interface IOptions { showFrame?: boolean; showArrow?: boolean; frameWidth?: number; className?: string; isAccessible?: boolean; isResizeable?: boolean; frameColor?: Color | string; arrowColor?: Color; keepEditorSelection?: boolean; ordinal?: number; showInHiddenAreas?: boolean; } export interface IStyles { frameColor?: Color | string | null; arrowColor?: Color | null; } declare class ViewZoneDelegate implements IViewZone { domNode: HTMLElement; id: string; afterLineNumber: number; afterColumn: number; heightInLines: number; readonly showInHiddenAreas: boolean | undefined; readonly ordinal: number | undefined; private readonly _onDomNodeTop; private readonly _onComputedHeight; constructor(domNode: HTMLElement, afterLineNumber: number, afterColumn: number, heightInLines: number, onDomNodeTop: (top: number) => void, onComputedHeight: (height: number) => void, showInHiddenAreas: boolean | undefined, ordinal: number | undefined); onDomNodeTop(top: number): void; onComputedHeight(height: number): void; } export declare class OverlayWidgetDelegate implements IOverlayWidget { private readonly _id; private readonly _domNode; constructor(id: string, domNode: HTMLElement); getId(): string; getDomNode(): HTMLElement; getPosition(): IOverlayWidgetPosition | null; } export declare abstract class ZoneWidget implements IHorizontalSashLayoutProvider { private _arrow; private _overlayWidget; private _resizeSash; private _isSashResizeHeight; private readonly _positionMarkerId; protected _viewZone: ViewZoneDelegate | null; protected readonly _disposables: DisposableStore; container: HTMLElement | null; domNode: HTMLElement; editor: ICodeEditor; options: IOptions; constructor(editor: ICodeEditor, options?: IOptions); dispose(): void; create(): void; style(styles: IStyles): void; protected _applyStyles(): void; protected _getWidth(info: EditorLayoutInfo): number; private _getLeft; private _onViewZoneTop; private _onViewZoneHeight; get position(): Position | undefined; hasFocus(): boolean; protected _isShowing: boolean; show(rangeOrPos: IRange | IPosition, heightInLines: number): void; updatePositionAndHeight(rangeOrPos: IRange | IPosition, heightInLines?: number): void; hide(): void; protected _decoratingElementsHeight(): number; /** Gets the maximum widget height in lines. */ protected _getMaximumHeightInLines(): number | undefined; private _showImpl; protected revealRange(range: Range, isLastLine: boolean): void; protected setCssClass(className: string, classToReplace?: string): void; protected abstract _fillContainer(container: HTMLElement): void; protected _onWidth(widthInPixel: number): void; protected _doLayout(heightInPixel: number, widthInPixel: number): void; protected _relayout(_newHeightInLines: number, useMax?: boolean): void; private _initSash; private _updateSashEnablement; protected get _usesResizeHeight(): boolean; protected _getResizeBounds(): { readonly minLines: number; readonly maxLines: number; }; getHorizontalSashLeft(): number; getHorizontalSashTop(): number; getHorizontalSashWidth(): number; } export {};