import { CodeEditor } from '@jupyterlab/codeeditor';
import { IDocumentManager } from '@jupyterlab/docmanager';
import { IDocumentWidget } from '@jupyterlab/docregistry';
import { JumpHistory } from '../history';
import { IGlobalPosition, ILocalPosition } from '../positions';
export declare abstract class CodeJumper {
    documentManager: IDocumentManager;
    widget: IDocumentWidget;
    history: JumpHistory;
    abstract get editors(): ReadonlyArray<CodeEditor.IEditor>;
    private goToPosition;
    private _globalJump;
    private protectFromAccidentalEditing;
    protected abstract jump(position: ILocalPosition): void;
    globalJumpBack(): void;
    globalJump(position: IGlobalPosition): void;
    abstract getCurrentPosition(): IGlobalPosition;
    abstract getOffset(position: CodeEditor.IPosition, cell?: number): number;
    abstract getJumpPosition(position: CodeEditor.IPosition, inputNumber?: number): ILocalPosition;
}
export declare let jumpers: Map<string, any>;
