import { EditTextInfo } from "../../input/EditTextInfo";
import { AppEventContext } from "../../app";
import { TextProps } from "../../graphics";
import { ICompositionRecord } from "../common/ICompositionRecord";
import { EditTextWorker, TextSelectionDeleteWorker } from "../../renderText";
import { TextInputWorker } from "../../ability/textInput/TextInputWorker";
export declare abstract class AbsInputHandler {
    private static readonly MAX_TEXT_LENGTH_FOR_NODE;
    private static readonly MAX_TEXT_LENGTH_FOR_LINE;
    protected editTextWorker: EditTextWorker;
    protected textInputWorker: TextInputWorker;
    protected selectionDeleteWorker: TextSelectionDeleteWorker;
    private docPosWorker;
    protected abstract computeUpdateTextProps(editTextInfo: EditTextInfo, data: string, compositionRecord: ICompositionRecord): {
        updateTextProps: Partial<TextProps>;
        index: number;
    };
    protected computeNextCursorIndex(index: number, data: string): number;
    handle(editTextInfo: EditTextInfo, eventCtx: AppEventContext, data: string, compositionRecord: ICompositionRecord): void;
    private limitInputDataByNodeType;
    private computeRenderTextLength;
}
//# sourceMappingURL=AbsInputHandler.d.ts.map