import { type AttributeRenderer, type DeltaInsert, type InlineRangeProvider, type KeyboardBindingContext } from '@blockeditor/inline';
import { ShadowlessElement } from '@blockeditor/lit';
import type { Y } from '@blockeditor/store';
import { Text } from '@blockeditor/store';
import { z } from 'zod';
import type { AffineInlineEditor, AffineTextAttributes } from '../../inline/presets/affine-inline-specs.js';
declare const RichText_base: typeof ShadowlessElement & import("@blockeditor/global/utils").Constructor<import("@blockeditor/lit").DisposableClass>;
export declare class RichText extends RichText_base {
    static styles: import("lit").CSSResult;
    private _inlineEditorContainer;
    get inlineEditorContainer(): HTMLDivElement;
    yText: Y.Text | Text;
    attributesSchema?: z.ZodSchema;
    attributeRenderer?: AttributeRenderer;
    markdownShortcutHandler?: <TextAttributes extends AffineTextAttributes = AffineTextAttributes>(context: KeyboardBindingContext<TextAttributes>, undoManager: Y.UndoManager) => boolean;
    embedChecker: <TextAttributes extends AffineTextAttributes = AffineTextAttributes>(delta: DeltaInsert<TextAttributes>) => boolean;
    readonly: boolean;
    inlineRangeProvider?: InlineRangeProvider;
    undoManager: Y.UndoManager;
    enableClipboard: boolean;
    enableUndoRedo: boolean;
    enableAutoScrollVertically: boolean;
    enableAutoScrollHorizontally: boolean;
    wrapText: boolean;
    enableFormat: boolean;
    private _inlineEditor;
    get inlineEditor(): AffineInlineEditor | null;
    private _init;
    private _onStackItemAdded;
    private _onStackItemPopped;
    private _onCopy;
    private _onCut;
    private get _yText();
    private _onPaste;
    private _unmount;
    getUpdateComplete(): Promise<boolean>;
    connectedCallback(): void;
    updated(): void;
    render(): import("lit").TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'rich-text': RichText;
    }
}
export {};
//# sourceMappingURL=rich-text.d.ts.map