import ArenaKeyboardEvent from '../interfaces/ArenaKeyboardEvent';
import ElementHelper from '../helpers/ElementHelper';
import ArenaServiceManager from './ArenaServiceManager';
import ArenaSelection from '../helpers/ArenaSelection';
import ArenaAttributes from '../interfaces/ArenaAttributes';
declare type ArenaChangeAttribute = CustomEvent<{
    attrs: ArenaAttributes;
    target: HTMLElement;
}>;
declare global {
    interface GlobalEventHandlersEventMap {
        'arena-change-attribute': ArenaChangeAttribute;
        'beforeinput': InputEvent;
    }
}
export default class ArenaBrowser {
    protected asm: ArenaServiceManager;
    protected inputListenerInstance: ((e: Event) => void);
    protected beforeinputListenerInstance: ((e: InputEvent) => void);
    protected mouseUpListenerInstance: ((e: MouseEvent) => void);
    protected keyUpListenerInstance: ((e: KeyboardEvent) => void);
    protected keyPressListenerInstance: ((e: KeyboardEvent) => void);
    protected keyDownListenerInstance: ((e: KeyboardEvent) => void);
    protected selectListenerInstance: ((e: Event) => void);
    protected copyListenerInstance: ((event: ClipboardEvent) => void);
    protected pasteListenerInstance: ((event: ClipboardEvent) => void);
    protected focusListenerInstance: ((event: FocusEvent) => void);
    protected changeAttributeListenerInstance: ((event: ArenaChangeAttribute) => void);
    protected lastSelectionStatus: boolean;
    protected lastSelectionRange: Range | undefined;
    protected editor: ElementHelper;
    constructor(asm: ArenaServiceManager);
    getModifiersSum(e: KeyboardEvent): number;
    isModificationEvent(e: KeyboardEvent): boolean;
    protected checkSelection(): void;
    protected checkKeyboardEvent(prefix: string, e: KeyboardEvent): ArenaKeyboardEvent | undefined;
    protected beforeinputListener(e: InputEvent): void;
    protected inputListener(e: Event): void;
    protected mouseUpListener(e: MouseEvent): void;
    protected keyUpListener(e: KeyboardEvent): void;
    protected keyPressListener(e: KeyboardEvent): void;
    keyDownListener(e: KeyboardEvent): void;
    protected copyListener(e: ClipboardEvent): void;
    protected pasteListener(e: ClipboardEvent): void;
    protected focusListener(e: FocusEvent): void;
    protected insertData(data: DataTransfer, selection: ArenaSelection): void;
    protected selectListener(e: Event): void;
    protected getIdOfTarget(target: HTMLElement): string | undefined;
    protected changeAttributeListener(e: ArenaChangeAttribute): void;
}
export {};
//# sourceMappingURL=ArenaBrowser.d.ts.map