export default AnimationTrack;
/**
 * Optimize multi-variable animation descriptor
 * Consider using {@link AnimationCurve} instead if you're starting a new project as it's simpler to use and is more streamlined
 */
declare class AnimationTrack {
    /**
     *
     * @param {String[]} properties
     * @constructor
     */
    constructor(properties: string[]);
    /**
     *
     * @type {String[]}
     */
    properties: string[];
    /**
     *
     * @type {number}
     */
    propertyCount: number;
    /**
     *
     * @type {number[]}
     */
    keyValues: number[];
    /**
     *
     * @type {number[]}
     */
    keyTimes: number[];
    timeStart: number;
    timeEnd: number;
    /**
     * Indices of keys from which transition takes place
     * @type {number[]}
     */
    transitionKeys: number[];
    /**
     * Transition function associated with a key
     * @type {function[]}
     */
    transitionFunctions: Function[];
    optimize(): void;
    /**
     *
     * @param {number} keyTime
     * @param {number[]} values
     */
    addKey(keyTime: number, values: number[]): void;
    /**
     *
     * @param {number} startKeyIndex
     * @param {function(number):number} transitionFunction
     */
    addTransition(startKeyIndex: number, transitionFunction: (arg0: number) => number): void;
    /**
     *
     * @param {number} time
     * @returns {number}
     */
    keyLowerBoundIndexAt(time: number): number;
    /**
     *
     * @param {number} time
     * @returns {number}
     */
    transitionIndexAt(time: number): number;
    /**
     *
     * @param {number} keyIndex
     * @param {number[]} result
     */
    readKeyValues(keyIndex: number, result: number[]): void;
}
//# sourceMappingURL=AnimationTrack.d.ts.map