import { IDimension } from "../../../../base/browser/dom.js"; import { CancellationTokenSource } from "../../../../base/common/cancellation.js"; import { Disposable, DisposableStore, IDisposable, IReference } from "../../../../base/common/lifecycle.js"; import { IObservable, IObservableWithChange } from "../../../../base/common/observable.js"; import { ICodeEditor, IViewZone } from "../../editorBrowser.js"; import { Position } from "../../../common/core/position.js"; import { Range } from "../../../common/core/range.js"; import { DetailedLineRangeMapping } from "../../../common/diff/rangeMapping.js"; import { IModelDeltaDecoration } from "../../../common/model.js"; export declare function joinCombine(arr1: readonly T[], arr2: readonly T[], keySelector: (val: T) => number, combine: (v1: T, v2: T) => T): readonly T[]; export declare function applyObservableDecorations(editor: ICodeEditor, decorations: IObservable): IDisposable; export declare function appendRemoveOnDispose(parent: HTMLElement, child: HTMLElement): IDisposable; export declare function prependRemoveOnDispose(parent: HTMLElement, child: HTMLElement): IDisposable; export declare class ObservableElementSizeObserver extends Disposable { private readonly elementSizeObserver; private readonly _width; get width(): IObservable; private readonly _height; get height(): IObservable; private _automaticLayout; get automaticLayout(): boolean; constructor(element: HTMLElement | null, dimension: IDimension | undefined); observe(dimension?: IDimension): void; setAutomaticLayout(automaticLayout: boolean): void; } export declare function animatedObservable(targetWindow: Window, base: IObservableWithChange, store: DisposableStore): IObservable; export declare function deepMerge(source1: T, source2: Partial): T; export declare abstract class ViewZoneOverlayWidget extends Disposable { constructor(editor: ICodeEditor, viewZone: PlaceholderViewZone, htmlElement: HTMLElement); } export interface IObservableViewZone extends IViewZone { onChange?: IObservable; setZoneId?(zoneId: string): void; } export declare class PlaceholderViewZone implements IObservableViewZone { private readonly _afterLineNumber; readonly heightInPx: number; readonly domNode: HTMLDivElement; private readonly _actualTop; private readonly _actualHeight; readonly actualTop: IObservable; readonly actualHeight: IObservable; readonly showInHiddenAreas: boolean; get afterLineNumber(): number; readonly onChange?: IObservable; constructor(_afterLineNumber: IObservable, heightInPx: number); onDomNodeTop: (top: number) => void; onComputedHeight: (height: number) => void; } export declare class ManagedOverlayWidget implements IDisposable { private readonly _editor; private readonly _domElement; private static _counter; private readonly _overlayWidgetId; private readonly _overlayWidget; constructor(_editor: ICodeEditor, _domElement: HTMLElement); dispose(): void; } export interface CSSStyle { height: number | string; width: number | string; top: number | string; visibility: "visible" | "hidden" | "collapse"; display: "block" | "inline" | "inline-block" | "flex" | "none"; paddingLeft: number | string; paddingRight: number | string; } export declare function applyStyle(domNode: HTMLElement, style: Partial<{ [TKey in keyof CSSStyle]: CSSStyle[TKey] | IObservable | undefined; }>): IDisposable; export declare function applyViewZones(editor: ICodeEditor, viewZones: IObservable, setIsUpdating?: (isUpdatingViewZones: boolean) => void, zoneIds?: Set): IDisposable; export declare class DisposableCancellationTokenSource extends CancellationTokenSource { dispose(): void; } export declare function translatePosition(posInOriginal: Position, mappings: DetailedLineRangeMapping[]): Range; export declare function filterWithPrevious(arr: T[], filter: (cur: T, prev: T | undefined) => boolean): T[]; export interface IRefCounted extends IDisposable { createNewRef(): this; } export declare abstract class RefCounted implements IDisposable, IReference { static create(value: T, debugOwner?: object | undefined): RefCounted; static createWithDisposable(value: T, disposable: IDisposable, debugOwner?: object | undefined): RefCounted; static createOfNonDisposable(value: T, disposable: IDisposable, debugOwner?: object | undefined): RefCounted; abstract createNewRef(debugOwner?: object | undefined): RefCounted; abstract dispose(): void; abstract get object(): T; }