import abstract class inkAnimInterpolator extends IScriptable
{
	public import function GetMode() : inkanimInterpolationMode;
	public import function GetType() : inkanimInterpolationType;
	public import function GetDirection() : inkanimInterpolationDirection;
	public import function GetDuration() : Float;
	public import function GetStartDelay() : Float;
	public import function GetIsAdditive() : Bool;
	public import function SetMode( mode : inkanimInterpolationMode );
	public import function SetType( type : inkanimInterpolationType );
	public import function SetDirection( direction : inkanimInterpolationDirection );
	public import function SetDuration( duration : Float );
	public import function SetStartDelay( startDelay : Float );
	public import function SetIsAdditive( isAdditive : Bool );
	public import function GetUseRelativeDuration() : Bool;
	public import function SetUseRelativeDuration( useRelativeDuration : Bool );
}

import class inkAnimSize extends inkAnimInterpolator
{
	public import function GetStartSize() : Vector2;
	public import function GetEndSize() : Vector2;
	public import function SetStartSize( startSize : Vector2 );
	public import function SetEndSize( endSize : Vector2 );
}

import class inkAnimColor extends inkAnimInterpolator
{
	public import function GetStartColor() : Color;
	public import function GetEndColor() : Color;
	public import function SetStartColor( startColor : HDRColor );

	public function SetStartColor( startColor : Color )
	{
		SetStartColor( Color.ToHDRColorDirect( startColor ) );
	}

	public import function SetEndColor( endColor : HDRColor );

	public function SetEndColor( endColor : Color )
	{
		SetEndColor( Color.ToHDRColorDirect( endColor ) );
	}

}

import class inkAnimMargin extends inkAnimInterpolator
{
	public import function GetStartMargin() : inkMargin;
	public import function GetEndMargin() : inkMargin;
	public import function SetStartMargin( startMargin : inkMargin );
	public import function SetEndMargin( endMargin : inkMargin );
}

import class inkAnimPadding extends inkAnimInterpolator
{
	public import function GetStartPadding() : inkMargin;
	public import function GetEndPadding() : inkMargin;
	public import function SetStartPadding( startPadding : inkMargin );
	public import function SetEndPadding( endPadding : inkMargin );
}

import class inkAnimTransparency extends inkAnimInterpolator
{
	public import function GetStartTransparency() : Float;
	public import function GetEndTransparency() : Float;
	public import function SetStartTransparency( startTransparency : Float );
	public import function SetEndTransparency( endTransparency : Float );
}

import class inkAnimRotation extends inkAnimInterpolator
{
	public import function GetStartRotation() : Float;
	public import function GetEndRotation() : Float;
	public import function SetStartRotation( startRotation : Float );
	public import function SetEndRotation( endRotation : Float );
	public import function SetGoShortPath( goShortPath : Bool );
}

import class inkAnimScale extends inkAnimInterpolator
{
	public import function GetStartScale() : Vector2;
	public import function GetEndScale() : Vector2;
	public import function SetStartScale( startScale : Vector2 );
	public import function SetEndScale( endScale : Vector2 );
}

import class inkAnimTranslation extends inkAnimInterpolator
{
	public import function GetStartTranslation() : Vector2;
	public import function GetEndTranslation() : Vector2;
	public import function SetStartTranslation( startTranslation : Vector2 );
	public import function SetEndTranslation( endTranslation : Vector2 );
}

import class inkAnimShear extends inkAnimInterpolator
{
	public import function GetStartShear() : Vector2;
	public import function GetEndShear() : Vector2;
	public import function SetStartShear( startShear : Vector2 );
	public import function SetEndShear( endShear : Vector2 );
}

import class inkAnimPivot extends inkAnimInterpolator
{
	public import function GetStartPivot() : Vector2;
	public import function GetEndPivot() : Vector2;
	public import function SetStartPivot( startPivot : Vector2 );
	public import function SetEndPivot( endPivot : Vector2 );
}

import class inkAnimAnchor extends inkAnimInterpolator
{
	public import function GetStartAnchor() : Vector2;
	public import function GetEndAnchor() : Vector2;
	public import function SetStartAnchor( startAnchor : Vector2 );
	public import function SetEndAnchor( endAnchor : Vector2 );
}

import class inkAnimEffect extends inkAnimInterpolator
{
	public import function GetStartValue() : Float;
	public import function GetEndValue() : Float;
	public import function SetEffectType( effectType : inkEffectType );
	public import function SetEffectName( effectName : CName );
	public import function SetParamName( paramName : CName );
	public import function SetStartValue( startValue : Float );
	public import function SetEndValue( endValue : Float );
}

import abstract class inkAnimTextInterpolator extends inkAnimInterpolator
{
	public import function SetStartProgress( complexityValue : Float );
	public import function GetStartProgress() : Float;
	public import function SetEndProgress( complexityValue : Float );
	public import function GetEndProgress() : Float;
}

import class inkAnimTextOffset extends inkAnimTextInterpolator
{
}

import class inkAnimTextReplace extends inkAnimTextInterpolator
{
}

import class inkAnimTextValueProgress extends inkAnimTextInterpolator
{
}

