import * as Y from 'yjs';
import { ElementModel } from './ElementModel';
import { EditorConfig } from '../../edit/EditorConfig';
import { LiveCursor } from '../../LiveCursor';
export declare class LineModel extends ElementModel<paper.Group> {
    private controlledPoints;
    protected clearLocalPointsWhenYPointsChange: boolean;
    protected shouldUseLocalPoints: boolean;
    protected localPointsPick: number;
    item: paper.Group | null;
    private get drawPoints();
    private get arrowSize();
    get headArrow(): 'normal' | 'none';
    set headArrow(value: 'normal' | 'none');
    get tailArrow(): 'normal' | 'none';
    set tailArrow(value: 'normal' | 'none');
    constructor(root: Y.Map<any>, scope: paper.PaperScope, liveCursor: LiveCursor, isPerformanceMode: () => boolean);
    protected subDispose(): void;
    protected onVectorUpdate(): void;
    private renderLine;
    protected liveCursorPoint(): paper.Point | null;
    createPaperItem(): void;
    createArrow(path: paper.Path): paper.Path[];
    editorConfig(): EditorConfig;
    protected vectorKeys(): string[];
    protected styleKeys(): {
        include: string[];
        exclude: string[];
    };
    protected onStyleKeyUpdate(_key: string): void;
}
//# sourceMappingURL=LineModel.d.ts.map