import type { VRange } from '../types.js'; import type { BaseTextAttributes } from '../utils/base-attributes.js'; import type { VEditor } from '../virgo.js'; export interface VBeforeinputHookCtx { vEditor: VEditor; raw: InputEvent; vRange: VRange; data: string | null; attributes: TextAttributes; } export interface VCompositionEndHookCtx { vEditor: VEditor; raw: CompositionEvent; vRange: VRange; data: string | null; attributes: TextAttributes; } export type VHookContext = VBeforeinputHookCtx | VCompositionEndHookCtx; export declare class VirgoHookService { readonly editor: VEditor; readonly hooks: { beforeinput?: (props: VBeforeinputHookCtx) => VBeforeinputHookCtx | null; compositionEnd?: (props: VCompositionEndHookCtx) => VCompositionEndHookCtx | null; }; constructor(editor: VEditor, hooks?: { beforeinput?: (props: VBeforeinputHookCtx) => VBeforeinputHookCtx | null; compositionEnd?: (props: VCompositionEndHookCtx) => VCompositionEndHookCtx | null; }); } //# sourceMappingURL=hook.d.ts.map