import type { ArxQuaternion, ArxVector3 } from '../common/types.js';
import { type ArxNewKeyFrame } from './NewKeyFrame.js';
import { type ArxOldKeyFrame } from './OldKeyFrame.js';
import { type ArxTeaHeader } from './TeaHeader.js';
/**
 * @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/animation/AnimationFormat.h#L124
 */
export type ArxTheaSample = {
    name: string;
    size: number;
};
export type ArxKeyFrame = (ArxNewKeyFrame | ArxOldKeyFrame) & {
    translate?: ArxVector3;
    quat?: ArxQuaternion;
    sample?: ArxTheaSample;
};
export type ArxTEA = {
    header: Omit<ArxTeaHeader, 'numberOfKeyFrames' | 'numberOfGroups'>;
    keyframes: ArxKeyFrame[];
};
export declare class TEA {
    static load(decompressedFile: ArrayBufferLike): ArxTEA;
    static save(json: ArxTEA): ArrayBuffer;
}
