import { AController } from './IController';
import IMark from './IMark';
declare class NullController extends AController {
    deselect(): void;
    selectNew(): void;
    selectMarks(marks: IMark[]): void;
    onMouseUpText(): void;
    onMouseUpMark(): void;
    onMouseUpSelection(): void;
    onMouseUpMetaString(): void;
    onMouseUpOther(): void;
}
declare class TextSelectionController extends AController {
    private deselectCbk;
    private selectNewCbk;
    private selectMarksCbk;
    constructor(deselectCbk: TextSelectionController['deselectCbk'], selectNewCbk: TextSelectionController['selectNewCbk'], selectMarksCbk: TextSelectionController['selectMarksCbk']);
    deselect(): void;
    selectNew(begChar: number, endChar: number): void;
    selectMarks(marks: IMark[]): void;
    onMouseUpText(e: Event, charRange: [number, number]): void;
    onMouseUpMark(e: Event, charRange: [number, number], marks: IMark[]): void;
    onMouseUpSelection(e: Event, charRange: [number, number]): void;
    onMouseUpMetaString(e: Event, charRange: [number, number], metaStringText: string): void;
    onMouseUpOther(e: Event): void;
}
declare class WordSelectionController extends TextSelectionController {
    onMouseUpText(e: Event, charRange: [number, number]): void;
}
export { NullController, TextSelectionController, WordSelectionController };
