import { ActionType, TimelineType } from "../core/DragonBones";
import { ColorTransform } from "../geom/ColorTransform";
import { AnimationData, TimelineData } from "../model/AnimationData";
import { BoneData, ArmatureData, SlotData } from "../model/ArmatureData";
import { BoundingBoxData, PolygonBoundingBoxData } from "../model/BoundingBoxData";
import { ConstraintData } from "../model/ConstraintData";
import { GeometryData, MeshDisplayData, PathDisplayData, DisplayData, ImageDisplayData } from "../model/DisplayData";
import { DragonBonesData } from "../model/DragonBonesData";
import { SkinData } from "../model/SkinData";
import { TextureAtlasData } from "../model/TextureAtlasData";
import { ActionData } from "../model/UserData";
import { DataParser } from "./DataParser";
import { Transform } from "../geom/Transform";
/**
 * @private
 */
export declare const enum FrameValueType {
    Step = 0,
    Int = 1,
    Float = 2
}
/**
 * @private
 */
export declare class ObjectDataParser extends DataParser {
    protected static _getBoolean(rawData: any, key: string, defaultValue: boolean): boolean;
    protected static _getNumber(rawData: any, key: string, defaultValue: number): number;
    protected static _getString(rawData: any, key: string, defaultValue: string): string;
    protected _rawTextureAtlasIndex: number;
    protected readonly _rawBones: Array<BoneData>;
    protected _data: DragonBonesData;
    protected _armature: ArmatureData;
    protected _bone: BoneData;
    protected _geometry: GeometryData;
    protected _slot: SlotData;
    protected _skin: SkinData;
    protected _mesh: MeshDisplayData;
    protected _animation: AnimationData;
    protected _timeline: TimelineData;
    protected _rawTextureAtlases: Array<any> | null;
    private _frameValueType;
    private _defaultColorOffset;
    private _prevClockwise;
    private _prevRotation;
    private _frameDefaultValue;
    private _frameValueScale;
    private readonly _helpMatrixA;
    private readonly _helpMatrixB;
    private readonly _helpTransform;
    private readonly _helpColorTransform;
    private readonly _helpPoint;
    private readonly _helpArray;
    private readonly _intArray;
    private readonly _floatArray;
    private readonly _frameIntArray;
    private readonly _frameFloatArray;
    private readonly _frameArray;
    private readonly _timelineArray;
    private readonly _colorArray;
    private readonly _cacheRawMeshes;
    private readonly _cacheMeshes;
    private readonly _actionFrames;
    private readonly _weightSlotPose;
    private readonly _weightBonePoses;
    private readonly _cacheBones;
    private readonly _slotChildActions;
    private _getCurvePoint;
    private _samplingEasingCurve;
    private _parseActionDataInFrame;
    private _mergeActionFrame;
    protected _parseArmature(rawData: any, scale: number): ArmatureData;
    protected _parseBone(rawData: any): BoneData;
    protected _parseIKConstraint(rawData: any): ConstraintData | null;
    protected _parsePathConstraint(rawData: any): ConstraintData | null;
    protected _parseSlot(rawData: any, zOrder: number): SlotData;
    protected _parseSkin(rawData: any): SkinData;
    protected _parseDisplay(rawData: any): DisplayData | null;
    protected _parsePath(rawData: any, display: PathDisplayData): void;
    protected _parsePivot(rawData: any, display: ImageDisplayData): void;
    protected _parseMesh(rawData: any, mesh: MeshDisplayData): void;
    protected _parseBoundingBox(rawData: any): BoundingBoxData | null;
    protected _parsePolygonBoundingBox(rawData: any): PolygonBoundingBoxData;
    protected _parseAnimation(rawData: any): AnimationData;
    protected _parseTimeline(rawData: any, rawFrames: Array<any> | null, framesKey: string, timelineType: TimelineType, frameValueType: FrameValueType, frameValueCount: number, frameParser: (rawData: any, frameStart: number, frameCount: number) => number, timeline?: TimelineData | null): TimelineData | null;
    protected _parseBoneTimeline(rawData: any): void;
    protected _parseSlotTimeline(rawData: any): void;
    protected _parseFrame(rawData: any, frameStart: number, frameCount: number): number;
    protected _parseTweenFrame(rawData: any, frameStart: number, frameCount: number): number;
    protected _parseSingleValueFrame(rawData: any, frameStart: number, frameCount: number): number;
    protected _parseDoubleValueFrame(rawData: any, frameStart: number, frameCount: number): number;
    protected _parseActionFrame(frame: ActionFrame, frameStart: number, frameCount: number): number;
    protected _parseZOrderFrame(rawData: any, frameStart: number, frameCount: number): number;
    protected _parseBoneAllFrame(rawData: any, frameStart: number, frameCount: number): number;
    protected _parseBoneTranslateFrame(rawData: any, frameStart: number, frameCount: number): number;
    protected _parseBoneRotateFrame(rawData: any, frameStart: number, frameCount: number): number;
    protected _parseBoneScaleFrame(rawData: any, frameStart: number, frameCount: number): number;
    protected _parseSlotDisplayFrame(rawData: any, frameStart: number, frameCount: number): number;
    protected _parseSlotColorFrame(rawData: any, frameStart: number, frameCount: number): number;
    protected _parseSlotDeformFrame(rawData: any, frameStart: number, frameCount: number): number;
    protected _parseIKConstraintFrame(rawData: any, frameStart: number, frameCount: number): number;
    protected _parseActionData(rawData: any, type: ActionType, bone: BoneData | null, slot: SlotData | null): Array<ActionData>;
    protected _parseDeformFrame(rawData: any, frameStart: number, frameCount: number): number;
    protected _parseTransform(rawData: any, transform: Transform, scale: number): void;
    protected _parseColorTransform(rawData: any, color: ColorTransform): void;
    protected _parseGeometry(rawData: any, geometry: GeometryData): void;
    protected _parseArray(rawData: any): void;
    protected _modifyArray(): void;
    parseDragonBonesData(rawData: any, scale?: number): DragonBonesData | null;
    parseTextureAtlasData(rawData: any, textureAtlasData: TextureAtlasData, scale?: number): boolean;
    private static _objectDataParserInstance;
    /**
     * - Deprecated, please refer to {@link dragonBones.BaseFactory#parseDragonBonesData()}.
     * @deprecated
     * @language en_US
     */
    /**
     * - 已废弃，请参考 {@link dragonBones.BaseFactory#parseDragonBonesData()}。
     * @deprecated
     * @language zh_CN
     */
    static getInstance(): ObjectDataParser;
}
/**
 * @private
 */
export declare class ActionFrame {
    frameStart: number;
    readonly actions: Array<number>;
}
