import { TClassProperties } from '../../typedefs'; import { Textbox, TextboxProps } from '../Textbox'; export type shapeType = 'rect' | 'diamond' | 'roundedRect' | 'circle' | 'hexagon' | 'triangle' | 'parallelogramIcon' | 'star' | 'cross' | 'leftsideRightTriangle' | 'rightsideRightTriangle' | 'topsideSemicircleCircle' | 'topLeftQuarterCircle' | 'constellationRect' | 'constellationRound'; export type shapeInfo = { name: shapeType; path: string; offsetX: number; offsetY: number; verticalAlign: 'middle' | 'top' | 'bottom'; textAlign: 'center' | 'left' | 'right'; textMaxHeight?: number; textMaxWidth?: number; }; export declare const shapeList: ({ name: string; path: string; offsetX: number; offsetY: number; verticalAlign: string; textAlign: string; textMaxHeight: number; } | { name: string; path: string; offsetX: number; offsetY: number; verticalAlign: string; textAlign: string; textMaxHeight?: undefined; })[]; export declare const XShapeNotesDefaultValues: Partial>; interface XShapeNotesProps extends TextboxProps { shapeName: string; id: string; } export declare class XShapeNotes extends Textbox { bgShape: shapeInfo | null; verticalAlign: string; maxHeight: number; constructor(text: string, options: Partial); static ownDefaults: Record; static getDefaults(): { controls: { mtaStart: import("../../..").Control; mbaStart: import("../../..").Control; mlaStart: import("../../..").Control; mraStart: import("../../..").Control; tl: import("../../..").Control; tr: import("../../..").Control; bl: import("../../..").Control; br: import("../../..").Control; }; }; _renderBackground(ctx: any): void; _getTopOffset(): number; _getTotalLineHeight(): number; _renderTextCommon(ctx: any, method: any): void; /** * Unlike superclass's version of this function, Textbox does not update * its width. * @private * @override */ initDimensions(): number | undefined; _getTotalLineHeights(): number; /** * Wraps a line of text using the width of the Textbox and a context. * @param {Array} line The grapheme array that represent the line * @param {Number} lineIndex * @param {Number} desiredWidth width you want to wrap the line to * @param {Number} reservedSpace space to remove from wrapping for custom functionalities * @returns {Array} Array of line(s) into which the given text is wrapped * to. */ /** This is the method of char split */ graphemeSplitForRectNotes(textstring: string): string[]; } export {}; //# sourceMappingURL=XShapeNotes.d.ts.map