import { TimelineBuilderProperty, AnimPropertyTargetValue } from './TimelineBuilderProperty';
import { AnimPropertyTarget } from './PropertyTarget';
import { AnimationPosition } from './Position';
import { AnimationUpdateCallback } from './UpdateCallback';
import { RampValue } from '../../engine/params/ramp/RampValue';
import { AnimationRepeatParams, Operation, RegisterOptions } from './vars/AnimBuilderTypes';
import type { GsapCoreTimeline } from '../thirdParty/gsap/gsapFactory';
export declare class TimelineBuilder {
    private _timelineBuilders;
    private _parent;
    private _target;
    private _duration;
    private _keyframes;
    private _easing;
    private _operation;
    private _repeatParams;
    private _delay;
    private _position;
    private _property;
    private _updateCallback;
    private _stoppable;
    private _debug;
    setDebug(debug: boolean): void;
    private _printDebug;
    addTimelineBuilder(timeline_builder: TimelineBuilder): void;
    timelineBuilders(): TimelineBuilder[];
    setParent(parent: TimelineBuilder): void;
    parent(): TimelineBuilder | undefined;
    setTarget(target: AnimPropertyTarget): void;
    target(): AnimPropertyTarget | undefined;
    setDuration(duration: number): void;
    duration(): number;
    setKeyframes(keyframes: RampValue): void;
    keyframes(): RampValue | undefined;
    setEasing(easing: string): void;
    easing(): string | undefined;
    setOperation(operation: Operation): void;
    operation(): Operation;
    setRepeatParams(repeat_params: AnimationRepeatParams): void;
    repeatParams(): AnimationRepeatParams | undefined;
    setDelay(delay: number): void;
    delay(): number;
    setPosition(position: AnimationPosition | undefined): void;
    position(): AnimationPosition | undefined;
    setStoppable(state: boolean): void;
    stoppable(): boolean;
    setUpdateCallback(update_callback: AnimationUpdateCallback): void;
    updateCallback(): AnimationUpdateCallback | undefined;
    clone(): TimelineBuilder;
    setPropertyName(name: string): void;
    property(): TimelineBuilderProperty;
    propertyName(): string | undefined;
    setPropertyValue(value: AnimPropertyTargetValue): void;
    propertyValue(): AnimPropertyTargetValue | undefined;
    populate(timeline: GsapCoreTimeline, options: RegisterOptions): void;
}
