import { BrushElement } from './brush/brush-element.js';
import type { IBrush } from './brush/types.js';
import { ConnectorElement } from './connector/connector-element.js';
import { type IConnector } from './connector/types.js';
import type { ICanvasElementType, IElementDefaultProps } from './edgeless-element.js';
import { GroupElement } from './group/group-element.js';
import { ShapeElement } from './shape/shape-element.js';
import type { IShape } from './shape/types.js';
import type { SurfaceElement } from './surface-element.js';
import { TextElement } from './text/text-element.js';
import type { IText } from './text/types.js';
export { BrushElement } from './brush/brush-element.js';
export { ConnectorElement } from './connector/connector-element.js';
export { ShapeElement } from './shape/shape-element.js';
export { TextElement } from './text/text-element.js';
export { GroupElement } from './group/group-element.js';
export { ConnectorMode } from './connector/types.js';
export { SHAPE_TEXT_PADDING } from './shape/consts.js';
export { normalizeShapeBound } from './shape/utils.js';
export { getFontString, getLineHeight, getLineWidth, normalizeTextBound, } from './text/utils.js';
export type CanvasElement = ShapeElement | BrushElement | ConnectorElement | SurfaceElement | GroupElement;
export declare const ElementCtors: {
    readonly brush: typeof BrushElement;
    readonly shape: typeof ShapeElement;
    readonly connector: typeof ConnectorElement;
    readonly text: typeof TextElement;
    readonly group: typeof GroupElement;
};
export declare const ElementDefaultProps: Record<keyof ICanvasElementType, IElementDefaultProps<keyof ICanvasElementType>>;
export type CanvasElementWithText = ShapeElement | TextElement;
export type { IBrush, IConnector, IShape, IText };
//# sourceMappingURL=index.d.ts.map