using System;
using Artemis.Storage.Entities.Profile;
namespace Artemis.Core
{
///
/// Represents a keyframe on a containing a value and a timestamp
///
public interface ILayerPropertyKeyframe
{
///
/// Gets an untyped reference to the layer property of this keyframe
///
ILayerProperty UntypedLayerProperty { get; }
///
/// The position of this keyframe in the timeline
///
TimeSpan Position { get; set; }
///
/// The easing function applied on the value of the keyframe
///
Easings.Functions EasingFunction { get; set; }
///
/// Gets the entity this keyframe uses for persistent storage
///
KeyframeEntity GetKeyframeEntity();
///
/// Removes the keyframe from the layer property
///
void Remove();
}
}