import { Slot } from '@blockeditor/global/utils';
import { BlockElement } from '@blockeditor/lit';
import type { Text } from '@blockeditor/store';
import type { EditingState, Viewport } from '../../_common/utils/index.js';
import { PageClipboard } from '../clipboard/index.js';
import type { DocPageBlockWidgetName } from '../index.js';
import { PageKeyboardManager } from '../keyboard/keyboard-manager.js';
import type { PageBlockModel } from '../page-model.js';
import { Gesture } from '../text-selection/gesture.js';
import type { DocPageService } from './doc-page-service.js';
export declare class DocPageBlockComponent extends BlockElement<PageBlockModel, DocPageService, DocPageBlockWidgetName> {
    static styles: import("lit").CSSResult;
    keyboardManager: PageKeyboardManager | null;
    gesture: Gesture | null;
    clipboardController: PageClipboard;
    pageBlockContainer: HTMLDivElement;
    slots: {
        draggingAreaUpdated: Slot<DOMRect | null>;
        selectedRectsUpdated: Slot<DOMRect[]>;
        embedRectsUpdated: Slot<DOMRect[]>;
        embedEditingStateUpdated: Slot<EditingState | null>;
        pageLinkClicked: Slot<{
            pageId: string;
            blockId?: string | undefined;
        }>;
        tagClicked: Slot<{
            tagId: string;
        }>;
        viewportUpdated: Slot<Viewport>;
    };
    private _viewportElement;
    get viewportElement(): HTMLDivElement;
    get viewport(): Viewport;
    private _createDefaultNoteBlock;
    private _getDefaultNoteBlock;
    private _initViewportResizeEffect;
    prependParagraphWithText: (text: Text) => void;
    focusFirstParagraph: () => void;
    firstUpdated(): void;
    connectedCallback(): void;
    disconnectedCallback(): void;
    render(): import("lit").TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'affine-doc-page': DocPageBlockComponent;
    }
}
//# sourceMappingURL=doc-page-block.d.ts.map