import { PathData , InputParameters as PathInputParameters , GroupParameters , Vertex } from "../path/interfaces" ; export interface InputParameters { loop : string ; startGroupsParameters : GroupParameters [ ] ; endGroupsParameters : GroupParameters [ ] ; baseParameters : BaseParameters ; phases ? : Phase [ ] ; } export interface Data { parameters : InputParameters ; startPath ? : PathData ; endPath ? : PathData ; progressions ? : number [ ] ; progressionsGeneralScope ? : number [ ] [ ] ; progressionsPhaseScope ? : number [ ] [ ] ; pathsGroupsParameters ? : GroupParameters [ ] [ ] ; dValues ? : string ; } export interface Phase { duration ( parameters ) : number ; progressionsPhaseScope ( parameters ) : number [ ] ; progressionsGeneralScope ( parameters ) : number [ ] ; groupsParameters : PhaseGroupParameters [ ] ; } export interface BaseParameters { numOfSegments ? : number ; depth ? : number ; x ? : number ; y ? : number ; width ? : number ; height ? : number ; centerX ? : number ; centerY ? : number ; rotate ? : number ; numOfGroups ? : number ; } export interface PhaseGroupParameters { [ key ] : any ; type ? ( params ) : string ; incircle ? ( params ) : boolean ; distance ? ( params ) : number ; round ? ( params ) : number | number [ ] ; smartRound ? ( params ) : boolean ; lengthBasedRound ? ( params ) : boolean ; adaptArms ? ( params ) : boolean ; radius ? ( params ) : number ; radians ? ( params ) : number ; } export interface GroupParameterMethod { startPath : PathData ; endPath : PathData ; vertex : Vertex ; progression : number [ ] ; progressionsGeneralScope : number [ ] [ ] ; progressionsPhaseScope : number [ ] [ ] ; activePhaseIndex : number ; } export interface DurationMethod { startPath : PathData ; endPath : PathData ; prevDurations : number [ ] ; } export interface ProgressionsPhaseScopeMethod { startPath : PathData ; endPath : PathData ; duration : number ; } export interface ProgressionsGeneralScopeMethod { startPath : PathData ; endPath : PathData ; duration : number ; prevPhaseProgressions : number [ ] ; }