import Quill from 'quill'; import type { Range } from 'quill'; import type { TableCellChildren } from './'; interface BindingObject extends Partial> { key: number | string | string[]; shortKey?: boolean | null; shiftKey?: boolean | null; altKey?: boolean | null; metaKey?: boolean | null; ctrlKey?: boolean | null; prefix?: RegExp; suffix?: RegExp; format?: Record | string[]; handler?: (this: { quill: Quill; }, range: Range, curContext: Context, binding: NormalizedBinding) => boolean | void; } interface Context { collapsed: boolean; empty: boolean; offset: number; prefix: string; suffix: string; format: Record; event: KeyboardEvent; line: TableCellChildren; } interface NormalizedBinding extends Omit { key: string | number; } export { Context, BindingObject };