import type { BaseBlockModel, Page } from '@revesuite/store'; import type { ExtendedModel } from '../utils/types.js'; export declare function handleBlockEndEnter(page: Page, model: ExtendedModel): void; export declare function handleSoftEnter(page: Page, model: ExtendedModel, index: number, length: number): void; export declare function handleBlockSplit(page: Page, model: ExtendedModel, splitIndex: number, splitLength: number): Promise | undefined; /** * Move down * @example * ``` * [ ] * └─ [ ] * [x] <- tab * └─ [ ] * * ↓ * * [ ] * ├─ [ ] * ├─ [x] <- * └─ [ ] * ``` */ export declare function handleIndent(page: Page, model: ExtendedModel, offset?: number): void; export declare function handleMultiBlockIndent(page: Page, models: BaseBlockModel[]): void; /** * Move up * @example * ``` * [ ] * ├─ [ ] * ├─ [x] <- shift + tab * └─ [ ] * * ↓ * * [ ] * └─ [ ] * [x] <- * └─ [ ] * ``` * Refer to https://github.com/toeverything/AFFiNE/blob/b59b010decb9c5decd9e3090f1a417696ce86f54/libs/components/editor-blocks/src/utils/indent.ts#L23-L122 */ export declare function handleUnindent(page: Page, model: ExtendedModel, offset?: number, capture?: boolean): void; export declare function handleLineStartBackspace(page: Page, model: ExtendedModel): void; export declare function handleKeyUp(event: KeyboardEvent, editableContainer: Element): boolean; export declare function handleKeyDown(block: BaseBlockModel, event: KeyboardEvent, editableContainer: HTMLElement): boolean; //# sourceMappingURL=rich-text-operations.d.ts.map