import { ESSceneObject, PickedInfo } from "vtxf-xe2/dist-node/xe2-base-objects";
import { Event, PartialWithUndefinedReactivePropsToNativeProps, ReactivePropsToNativePropsAndChanged } from "vtxf-xe2/dist-node/xe2-base-utils";
import { SceneObjectKey } from "vtxf-xe2/dist-node/xe2-utils";
export declare type OlTextAlignType = 'left' | 'right' | 'center' | 'end' | 'start';
export declare type OlTextPlacementType = 'point' | 'line';
export declare type OlTextJustifyType = 'left' | 'center' | 'right';
export declare type OlTextBaselineType = 'bottom' | 'top' | 'middle' | 'alphabetic' | 'hanging' | 'ideographic';
export declare type OlTextStrokeType = {
    color?: [number, number, number, number];
    lineCap?: 'butt' | 'round' | 'square';
    lineJoin?: 'bevel' | 'round' | 'miter';
    lineDash?: number[];
    lineDashOffset?: number;
    miterLimit?: number;
    width?: number;
    name: string;
};
export declare class OlText extends ESSceneObject {
    static readonly type: string;
    get typeName(): string;
    get defaultProps(): {
        show: boolean | undefined;
        position: import("vtxf-xe2/dist-node/xe2-base-utils").ReactiveVariable<[number, number] | undefined>;
        editing: boolean | undefined;
        allowPicking: boolean | undefined;
        font: string | undefined;
        maxAngle: number | undefined;
        offsetX: number | undefined;
        offsetY: number | undefined;
        overflow: boolean | undefined;
        placement: OlTextPlacementType | undefined;
        scale: number | undefined;
        rotateWithView: boolean | undefined;
        rotation: number | undefined;
        text: string | undefined;
        textAlign: OlTextAlignType | undefined;
        justify: OlTextJustifyType | undefined;
        textBaseline: OlTextBaselineType | undefined;
        fill: import("vtxf-xe2/dist-node/xe2-base-utils").ReactiveVariable<[number, number, number, number] | undefined>;
        stroke: import("vtxf-xe2/dist-node/xe2-base-utils").ReactiveVariable<OlTextStrokeType | undefined>;
        backgroundFill: import("vtxf-xe2/dist-node/xe2-base-utils").ReactiveVariable<[number, number, number, number] | undefined>;
        backgroundStroke: import("vtxf-xe2/dist-node/xe2-base-utils").ReactiveVariable<OlTextStrokeType | undefined>;
        padding: import("vtxf-xe2/dist-node/xe2-base-utils").ReactiveVariable<[number, number, number, number] | undefined>;
        zIndex: number | undefined;
        execOnceFuncStr: string | undefined;
        updateFuncStr: string | undefined;
        toDestroyFuncStr: string | undefined;
        name: string;
        ref: string | undefined;
        devTags: import("vtxf-xe2/dist-node/xe2-base-utils").ReactiveVariable<string[] | undefined>;
        extras: import("vtxf-xe2/dist-node/xe2-base-utils").ReactiveVariable<import("vtxf-xe2/dist-node/xe2-base-utils").JsonValue>;
    };
    get json(): JsonType;
    set json(value: JsonType);
    private _pickedEvent;
    get pickedEvent(): Event<[PickedInfo]>;
    constructor(id?: SceneObjectKey);
    static defaultValue: {
        font: string;
        maxAngle: number;
        offsetX: number;
        offsetY: number;
        overflow: boolean;
        placement: OlTextPlacementType;
        scale: number;
        rotateWithView: boolean;
        rotation: number;
        text: string;
        textAlign: OlTextAlignType;
        justify: OlTextJustifyType;
        textBaseline: OlTextBaselineType;
        fill: [number, number, number, number];
        stroke: OlTextStrokeType;
        backgroundFill: [number, number, number, number];
        backgroundStroke: OlTextStrokeType;
        padding: [number, number, number, number];
    };
    static description: {
        font: string;
        maxAngle: string;
        offsetX: string;
        offsetY: string;
        overflow: string;
        placement: string;
        scale: string;
        rotateWithView: string;
        rotation: string;
        text: string;
        textAlign: string;
        justify: string;
        textBaseline: string;
        fill: string;
        stroke: string;
        backgroundFill: string;
        backgroundStroke: string;
        padding: string;
    };
    static olTextAlignTypeEnums: [string, string][];
    static olTextPlacementTypeEnums: [string, string][];
    static olTextJustifyTypeEnums: [string, string][];
    static olTextBaselineTypeEnums: [string, string][];
    getProperties(language?: string): import("vtxf-xe2/dist-node/xe2-base-objects").Property[];
}
export declare namespace OlText {
    const createDefaultProps: () => {
        show: boolean | undefined;
        position: import("vtxf-xe2/dist-node/xe2-base-utils").ReactiveVariable<[number, number] | undefined>;
        editing: boolean | undefined;
        allowPicking: boolean | undefined;
        font: string | undefined;
        maxAngle: number | undefined;
        offsetX: number | undefined;
        offsetY: number | undefined;
        overflow: boolean | undefined;
        placement: OlTextPlacementType | undefined;
        scale: number | undefined;
        rotateWithView: boolean | undefined;
        rotation: number | undefined;
        text: string | undefined;
        textAlign: OlTextAlignType | undefined;
        justify: OlTextJustifyType | undefined;
        textBaseline: OlTextBaselineType | undefined;
        fill: import("vtxf-xe2/dist-node/xe2-base-utils").ReactiveVariable<[number, number, number, number] | undefined>;
        stroke: import("vtxf-xe2/dist-node/xe2-base-utils").ReactiveVariable<OlTextStrokeType | undefined>;
        backgroundFill: import("vtxf-xe2/dist-node/xe2-base-utils").ReactiveVariable<[number, number, number, number] | undefined>;
        backgroundStroke: import("vtxf-xe2/dist-node/xe2-base-utils").ReactiveVariable<OlTextStrokeType | undefined>;
        padding: import("vtxf-xe2/dist-node/xe2-base-utils").ReactiveVariable<[number, number, number, number] | undefined>;
        zIndex: number | undefined;
        execOnceFuncStr: string | undefined;
        updateFuncStr: string | undefined;
        toDestroyFuncStr: string | undefined;
        name: string;
        ref: string | undefined;
        devTags: import("vtxf-xe2/dist-node/xe2-base-utils").ReactiveVariable<string[] | undefined>;
        extras: import("vtxf-xe2/dist-node/xe2-base-utils").ReactiveVariable<import("vtxf-xe2/dist-node/xe2-base-utils").JsonValue>;
    };
}
export interface OlText extends ReactivePropsToNativePropsAndChanged<ReturnType<typeof OlText.createDefaultProps>> {
}
declare type JsonType = PartialWithUndefinedReactivePropsToNativeProps<ReturnType<typeof OlText.createDefaultProps> & {
    type: string;
}>;
export {};
