import { OsbVector2, OsbColor } from '../Utils';
import { Easing, Parameter } from '../Enums';
import { Command } from './Command';
export declare abstract class CommandGroup {
    header: string;
    commands: Command[];
    constructor(header: string);
    Fade(startTime: number | string, endTime: number | string, startOpacity: number, endOpacity: number, easing?: Easing): void;
    FadeAtTime(time: number | string, opacity: number): void;
    Move(startTime: number | string, endTime: number | string, startPosition: OsbVector2, endPosition: OsbVector2, easing?: Easing): void;
    MoveAtTime(time: number | string, position: OsbVector2): void;
    MoveX(startTime: number | string, endTime: number | string, startX: number, endX: number, easing?: Easing): void;
    MoveXAtTime(time: number | string, x: number): void;
    MoveY(startTime: number | string, endTime: number | string, startY: number, endY: number, easing?: Easing): void;
    MoveYAtTime(time: number | string, y: number): void;
    Scale(startTime: number | string, endTime: number | string, startScale: number, endScale: number, easing?: Easing): this;
    ScaleAtTime(time: number | string, scale: number): void;
    ScaleVec(startTime: number | string, endTime: number | string, startScale: OsbVector2, endScale: OsbVector2, easing?: Easing): void;
    ScaleVecAtTime(time: number | string, scale: OsbVector2): void;
    Rotate(startTime: number | string, endTime: number | string, startAngle: number, endAngle: number, easing?: Easing): void;
    RotateAtTime(time: number | string, angle: number): void;
    Color(startTime: number | string, endTime: number | string, startColor: OsbColor, endColor: OsbColor, easing?: Easing): void;
    ColorAtTime(time: number | string, color: OsbColor): void;
    Parameter(startTime: number | string, endTime: number | string, parameter: Parameter): void;
    getOsbString(): string;
}
