import { PropertyBlotDataSet } from './property-selector-blot';
type PropertySelectorEventToggle = {
    type: 'toggle';
    value: boolean;
};
type PropertySelectorEventSearch = {
    type: 'search';
    value: string;
};
type PropertySelectorEventOnSelect = {
    type: 'onSelect';
    value: null;
};
type PropertySelectorEventHighlightedIndexChange = {
    type: 'highlighted-index-change';
    value: 1 | -1;
};
export type PropertySelectorEvent = PropertySelectorEventOnSelect | PropertySelectorEventToggle | PropertySelectorEventSearch | PropertySelectorEventHighlightedIndexChange;
export declare class PropertySelectorModule {
    static propertySelectorAttribute: string;
    static isOpen: boolean;
    private quill;
    private propertySelectorCharPos;
    private cursorPos;
    private propertySelectorContainer;
    private propertySelectorList;
    private options;
    constructor(quill: any, options: any);
    static dispatchSelectEvent(data: PropertyBlotDataSet): void;
    static dispatchEvent(detail: PropertySelectorEvent): void;
    search(value: string): void;
    selectHandler(): boolean;
    escapeHandler(): void;
    upHandler(): boolean;
    downHandler(): boolean;
    showPropertySelectorList(): void;
    hidePropertySelectorList(): void;
    insertItem(data: PropertyBlotDataSet, programmaticInsert?: boolean): void;
    setIsOpen(isOpen: any): void;
    setPropertySelectorContainerPosition(): void;
    getTextBeforeCursor(): string;
    onSomethingChange(): void;
    getAllowedCharsRegex(denotationChar: string): RegExp;
    onTextChange(delta: any, oldDelta: any, source: any): void;
    onSelectionChange(range: any): void;
    openMenu(denotationChar: any): void;
}
export {};
