import { FastDomNode } from "../../../../../base/browser/fastDomNode.js";
import { IInstantiationService } from "../../../../../platform/instantiation/common/instantiation.js";
import { ViewConfigurationChangedEvent, ViewCursorStateChangedEvent, ViewDecorationsChangedEvent, ViewFlushedEvent, ViewLinesChangedEvent, ViewLinesDeletedEvent, ViewLinesInsertedEvent, ViewScrollChangedEvent, ViewZonesChangedEvent } from "../../../../common/viewEvents.js";
import { ViewContext } from "../../../../common/viewModel/viewContext.js";
import { RestrictedRenderingContext, RenderingContext } from "../../../view/renderingContext.js";
import { ViewController } from "../../../view/viewController.js";
import { AbstractEditContext } from "../editContext.js";
import { Position } from "../../../../common/core/position.js";
import { IVisibleRangeProvider } from "../textArea/textAreaEditContext.js";
import { IEditorAriaOptions } from "../../../editorBrowser.js";
import { ILogService } from "../../../../../platform/log/common/log.service.js";
import { ViewportData } from "../../../../common/viewLayout/viewLinesViewportData.js";
export declare class NativeEditContext extends AbstractEditContext {
    private readonly _viewController;
    private readonly _visibleRangeProvider;
    private readonly logService;
    readonly domNode: FastDomNode<HTMLDivElement>;
    private readonly _imeTextArea;
    private readonly _editContext;
    private readonly _screenReaderSupport;
    private _previousEditContextSelection;
    private _editContextPrimarySelection;
    private readonly _parent;
    private _parentBounds;
    private _decorations;
    private _primarySelection;
    private _targetWindowId;
    private _scrollTop;
    private _scrollLeft;
    private readonly _focusTracker;
    constructor(ownerID: string, context: ViewContext, overflowGuardContainer: FastDomNode<HTMLElement>, _viewController: ViewController, _visibleRangeProvider: IVisibleRangeProvider, instantiationService: IInstantiationService, logService: ILogService);
    dispose(): void;
    setAriaOptions(options: IEditorAriaOptions): void;
    getLastRenderData(): Position | null;
    onBeforeRender(viewportData: ViewportData): void;
    prepareRender(ctx: RenderingContext): void;
    render(ctx: RestrictedRenderingContext): void;
    onCursorStateChanged(e: ViewCursorStateChangedEvent): boolean;
    onConfigurationChanged(e: ViewConfigurationChangedEvent): boolean;
    onDecorationsChanged(e: ViewDecorationsChangedEvent): boolean;
    onFlushed(e: ViewFlushedEvent): boolean;
    onLinesChanged(e: ViewLinesChangedEvent): boolean;
    onLinesDeleted(e: ViewLinesDeletedEvent): boolean;
    onLinesInserted(e: ViewLinesInsertedEvent): boolean;
    private _updateEditContextOnLineChange;
    onScrollChanged(e: ViewScrollChangedEvent): boolean;
    onZonesChanged(e: ViewZonesChangedEvent): boolean;
    handleWillPaste(): void;
    private _prepareScreenReaderForPaste;
    handleWillCopy(): void;
    writeScreenReaderContent(): void;
    isFocused(): boolean;
    focus(): void;
    refreshFocusState(): void;
    setEditContextOnDomNode(): void;
    private _onKeyUp;
    private _onKeyDown;
    private _updateDomAttributes;
    private _updateEditContext;
    private _emitTypeEvent;
    private _onType;
    private _getNewEditContextState;
    private _editContextStartPosition;
    private _handleTextFormatUpdate;
    private _linesVisibleRanges;
    private _updateSelectionAndControlBoundsData;
    private _updateSelectionAndControlBounds;
    private _updateCharacterBounds;
}
