import type { FormatContentModelContext, ReadonlyContentModelDocument, ReadonlyContentModelParagraph } from 'roosterjs-content-model-types'; /** * @internal The handleTabOnParagraph function will handle the tab key in following scenarios: * 1. When the selection is collapsed and the cursor is at the end of a paragraph, add 4 spaces. * 2. When the selection is collapsed and the cursor is at the start of a paragraph, add 4 spaces. * 3. When the selection is collapsed and the cursor is at the middle of a paragraph, add 4 spaces. * 4. When the selection is not collapsed, replace the selected range with a single space. * 5. When the selection is not collapsed, but all segments are selected, call setModelIndention function to indent the whole paragraph The handleTabOnParagraph function will handle the shift + tab key in a indented paragraph in following scenarios: * 1. When the selection is collapsed and the cursor is at the end of a paragraph, remove 4 spaces. * 2. When the selection is collapsed and the cursor is at the start of a paragraph, call setModelIndention function to outdent the whole paragraph * 3. When the selection is collapsed and the cursor is at the middle of a paragraph, remove 4 spaces. * 4. When the selection is not collapsed, replace the selected range with a 4 space. * 5. When the selection is not collapsed, but all segments are selected, call setModelIndention function to outdent the whole paragraph */ export declare function handleTabOnParagraph(model: ReadonlyContentModelDocument, paragraph: ReadonlyContentModelParagraph, rawEvent: KeyboardEvent, context?: FormatContentModelContext): boolean;