import { Position } from "codemirror";
export declare class RemoteSelection {
    /**
     * Gets the userland id of this selection.
     */
    getId(): string;
    /**
     * Gets the start position of the selection.
     *
     * @returns
     *   The start position of the selection.
     */
    getStartPosition(): Position;
    /**
     * Gets the start position of the selection.
     *
     * @returns
     *   The start position of the selection.
     */
    getEndPosition(): Position;
    /**
     * Sets the selection using zero-based text indices.
     *
     * @param start
     *   The start index to set the selection to.
     * @param end
     *   The end index to set the selection to.
     */
    setIndices(start: number, end: number): void;
    /**
     * Sets the selection using CodeMirrors's line / ch coordinate system.
     *
     * @param start
     *   The start position to set the selection to.
     * @param end
     *   The end position to set the selection to.
     */
    setPositions(start: Position, end: Position): void;
    /**
     * Makes the selection visible if it is hidden.
     */
    show(): void;
    /**
     * Makes the selection hidden if it is visible.
     */
    hide(): void;
    /**
     * Determines if the selection has been permanently removed from the editor.
     *
     * @returns
     *   True if the selection has been disposed, false otherwise.
     */
    isDisposed(): boolean;
    /**
     * Permanently removes the selection from the editor.
     */
    dispose(): void;
}
