import * as _angular_animations from '@angular/animations';
import { AnimationReferenceMetadata } from '@angular/animations';

interface IAnimationParams {
    delay: string;
    duration: string;
    easing: any;
    startOpacity?: number;
    endOpacity?: number;
    startAngle?: number;
    endAngle?: number;
    startDistance?: string;
    endDistance?: string;
    fromPosition?: string;
    toPosition?: string;
    fromScale?: number;
    midScale?: number;
    toScale?: number;
    xPos?: string;
    yPos?: string;
    direction?: string;
    rotateX?: number;
    rotateY?: number;
    rotateZ?: number;
    startHeight?: string;
    endHeight?: string;
    startPadding?: string;
    endPadding?: string;
}

declare class AnimationUtil {
    private static _instance;
    private oppositeAnimation;
    private horizontalAnimations;
    private verticalAnimations;
    private constructor();
    static instance(): AnimationUtil;
    reverseAnimationResolver(animation: AnimationReferenceMetadata): AnimationReferenceMetadata;
    isHorizontalAnimation(animation: AnimationReferenceMetadata): boolean;
    isVerticalAnimation(animation: AnimationReferenceMetadata): boolean;
}

declare const enum EaseIn {
    Quad = "cubic-bezier(0.550, 0.085, 0.680, 0.530)",
    Cubic = "cubic-bezier(0.550, 0.055, 0.675, 0.190)",
    Quart = "cubic-bezier(0.895, 0.030, 0.685, 0.220)",
    Quint = "cubic-bezier(0.755, 0.050, 0.855, 0.060)",
    Sine = "cubic-bezier(0.470, 0.000, 0.745, 0.715)",
    Expo = "cubic-bezier(0.950, 0.050, 0.795, 0.035)",
    Circ = "cubic-bezier(0.600, 0.040, 0.980, 0.335)",
    Back = "cubic-bezier(0.600, -0.280, 0.735, 0.045)"
}
declare const enum EaseOut {
    Quad = "cubic-bezier(0.250, 0.460, 0.450, 0.940)",
    Cubic = "cubic-bezier(0.215, 0.610, 0.355, 1.000)",
    Quart = "cubic-bezier(0.165, 0.840, 0.440, 1.000)",
    Quint = "cubic-bezier(0.230, 1.000, 0.320, 1.000)",
    Sine = "cubic-bezier(0.390, 0.575, 0.565, 1.000)",
    Expo = "cubic-bezier(0.190, 1.000, 0.220, 1.000)",
    Circ = "cubic-bezier(0.075, 0.820, 0.165, 1.000)",
    Back = "cubic-bezier(0.175, 0.885, 0.320, 1.275)"
}
declare const enum EaseInOut {
    Quad = "cubic-bezier(0.455, 0.030, 0.515, 0.955)",
    Cubic = "cubic-bezier(0.645, 0.045, 0.355, 1.000)",
    Quart = "cubic-bezier(0.770, 0.000, 0.175, 1.000)",
    Quint = "cubic-bezier(0.860, 0.000, 0.070, 1.000)",
    Sine = "cubic-bezier(0.445, 0.050, 0.550, 0.950)",
    Expo = "cubic-bezier(1.000, 0.000, 0.000, 1.000)",
    Circ = "cubic-bezier(0.785, 0.135, 0.150, 0.860)",
    Back = "cubic-bezier(0.680, -0.550, 0.265, 1.550)"
}

declare const fadeIn: _angular_animations.AnimationReferenceMetadata;
declare const fadeOut: _angular_animations.AnimationReferenceMetadata;

declare const flipTop: _angular_animations.AnimationReferenceMetadata;
declare const flipBottom: _angular_animations.AnimationReferenceMetadata;
declare const flipLeft: _angular_animations.AnimationReferenceMetadata;
declare const flipRight: _angular_animations.AnimationReferenceMetadata;
declare const flipHorFwd: _angular_animations.AnimationReferenceMetadata;
declare const flipHorBck: _angular_animations.AnimationReferenceMetadata;
declare const flipVerFwd: _angular_animations.AnimationReferenceMetadata;
declare const flipVerBck: _angular_animations.AnimationReferenceMetadata;

declare const rotateInCenter: _angular_animations.AnimationReferenceMetadata;
declare const rotateOutCenter: _angular_animations.AnimationReferenceMetadata;
declare const rotateInTop: _angular_animations.AnimationReferenceMetadata;
declare const rotateOutTop: _angular_animations.AnimationReferenceMetadata;
declare const rotateInRight: _angular_animations.AnimationReferenceMetadata;
declare const rotateOutRight: _angular_animations.AnimationReferenceMetadata;
declare const rotateInBottom: _angular_animations.AnimationReferenceMetadata;
declare const rotateOutBottom: _angular_animations.AnimationReferenceMetadata;
declare const rotateInLeft: _angular_animations.AnimationReferenceMetadata;
declare const rotateOutLeft: _angular_animations.AnimationReferenceMetadata;
declare const rotateInTr: _angular_animations.AnimationReferenceMetadata;
declare const rotateOutTr: _angular_animations.AnimationReferenceMetadata;
declare const rotateInBr: _angular_animations.AnimationReferenceMetadata;
declare const rotateOutBr: _angular_animations.AnimationReferenceMetadata;
declare const rotateInBl: _angular_animations.AnimationReferenceMetadata;
declare const rotateOutBl: _angular_animations.AnimationReferenceMetadata;
declare const rotateInTl: _angular_animations.AnimationReferenceMetadata;
declare const rotateOutTl: _angular_animations.AnimationReferenceMetadata;
declare const rotateInDiagonal1: _angular_animations.AnimationReferenceMetadata;
declare const rotateOutDiagonal1: _angular_animations.AnimationReferenceMetadata;
declare const rotateInDiagonal2: _angular_animations.AnimationReferenceMetadata;
declare const rotateOutDiagonal2: _angular_animations.AnimationReferenceMetadata;
declare const rotateInHor: _angular_animations.AnimationReferenceMetadata;
declare const rotateOutHor: _angular_animations.AnimationReferenceMetadata;
declare const rotateInVer: _angular_animations.AnimationReferenceMetadata;
declare const rotateOutVer: _angular_animations.AnimationReferenceMetadata;

declare const shakeHor: _angular_animations.AnimationReferenceMetadata;
declare const shakeVer: _angular_animations.AnimationReferenceMetadata;
declare const shakeTop: _angular_animations.AnimationReferenceMetadata;
declare const shakeBottom: _angular_animations.AnimationReferenceMetadata;
declare const shakeRight: _angular_animations.AnimationReferenceMetadata;
declare const shakeLeft: _angular_animations.AnimationReferenceMetadata;
declare const shakeCenter: _angular_animations.AnimationReferenceMetadata;
declare const shakeTr: _angular_animations.AnimationReferenceMetadata;
declare const shakeBr: _angular_animations.AnimationReferenceMetadata;
declare const shakeBl: _angular_animations.AnimationReferenceMetadata;
declare const shakeTl: _angular_animations.AnimationReferenceMetadata;

declare const pulsateFwd: _angular_animations.AnimationReferenceMetadata;
declare const pulsateBck: _angular_animations.AnimationReferenceMetadata;
declare const heartbeat: _angular_animations.AnimationReferenceMetadata;
declare const blink: _angular_animations.AnimationReferenceMetadata;

declare const scaleInCenter: _angular_animations.AnimationReferenceMetadata;
declare const scaleInBl: _angular_animations.AnimationReferenceMetadata;
declare const scaleInVerCenter: _angular_animations.AnimationReferenceMetadata;
declare const scaleInTop: _angular_animations.AnimationReferenceMetadata;
declare const scaleInLeft: _angular_animations.AnimationReferenceMetadata;
declare const scaleInVerTop: _angular_animations.AnimationReferenceMetadata;
declare const scaleInTr: _angular_animations.AnimationReferenceMetadata;
declare const scaleInTl: _angular_animations.AnimationReferenceMetadata;
declare const scaleInVerBottom: _angular_animations.AnimationReferenceMetadata;
declare const scaleInRight: _angular_animations.AnimationReferenceMetadata;
declare const scaleInHorCenter: _angular_animations.AnimationReferenceMetadata;
declare const scaleInBr: _angular_animations.AnimationReferenceMetadata;
declare const scaleInHorLeft: _angular_animations.AnimationReferenceMetadata;
declare const scaleInBottom: _angular_animations.AnimationReferenceMetadata;
declare const scaleInHorRight: _angular_animations.AnimationReferenceMetadata;
declare const scaleOutCenter: _angular_animations.AnimationReferenceMetadata;
declare const scaleOutBl: _angular_animations.AnimationReferenceMetadata;
declare const scaleOutBr: _angular_animations.AnimationReferenceMetadata;
declare const scaleOutVerCenter: _angular_animations.AnimationReferenceMetadata;
declare const scaleOutVerTop: _angular_animations.AnimationReferenceMetadata;
declare const scaleOutVerBottom: _angular_animations.AnimationReferenceMetadata;
declare const scaleOutTop: _angular_animations.AnimationReferenceMetadata;
declare const scaleOutLeft: _angular_animations.AnimationReferenceMetadata;
declare const scaleOutTr: _angular_animations.AnimationReferenceMetadata;
declare const scaleOutTl: _angular_animations.AnimationReferenceMetadata;
declare const scaleOutRight: _angular_animations.AnimationReferenceMetadata;
declare const scaleOutBottom: _angular_animations.AnimationReferenceMetadata;
declare const scaleOutHorCenter: _angular_animations.AnimationReferenceMetadata;
declare const scaleOutHorLeft: _angular_animations.AnimationReferenceMetadata;
declare const scaleOutHorRight: _angular_animations.AnimationReferenceMetadata;

declare const slideInTop: _angular_animations.AnimationReferenceMetadata;
declare const slideInLeft: _angular_animations.AnimationReferenceMetadata;
declare const slideInRight: _angular_animations.AnimationReferenceMetadata;
declare const slideInBottom: _angular_animations.AnimationReferenceMetadata;
declare const slideInTr: _angular_animations.AnimationReferenceMetadata;
declare const slideInTl: _angular_animations.AnimationReferenceMetadata;
declare const slideInBr: _angular_animations.AnimationReferenceMetadata;
declare const slideInBl: _angular_animations.AnimationReferenceMetadata;
declare const slideOutTop: _angular_animations.AnimationReferenceMetadata;
declare const slideOutRight: _angular_animations.AnimationReferenceMetadata;
declare const slideOutBottom: _angular_animations.AnimationReferenceMetadata;
declare const slideOutLeft: _angular_animations.AnimationReferenceMetadata;
declare const slideOutTr: _angular_animations.AnimationReferenceMetadata;
declare const slideOutBr: _angular_animations.AnimationReferenceMetadata;
declare const slideOutBl: _angular_animations.AnimationReferenceMetadata;
declare const slideOutTl: _angular_animations.AnimationReferenceMetadata;

declare const swingInTopFwd: _angular_animations.AnimationReferenceMetadata;
declare const swingInRightFwd: _angular_animations.AnimationReferenceMetadata;
declare const swingInBottomFwd: _angular_animations.AnimationReferenceMetadata;
declare const swingInLeftFwd: _angular_animations.AnimationReferenceMetadata;
declare const swingInTopBck: _angular_animations.AnimationReferenceMetadata;
declare const swingInRightBck: _angular_animations.AnimationReferenceMetadata;
declare const swingInBottomBck: _angular_animations.AnimationReferenceMetadata;
declare const swingInLeftBck: _angular_animations.AnimationReferenceMetadata;
declare const swingOutTopFwd: _angular_animations.AnimationReferenceMetadata;
declare const swingOutRightFwd: _angular_animations.AnimationReferenceMetadata;
declare const swingOutBottomFwd: _angular_animations.AnimationReferenceMetadata;
declare const swingOutLefttFwd: _angular_animations.AnimationReferenceMetadata;
declare const swingOutTopBck: _angular_animations.AnimationReferenceMetadata;
declare const swingOutRightBck: _angular_animations.AnimationReferenceMetadata;
declare const swingOutBottomBck: _angular_animations.AnimationReferenceMetadata;
declare const swingOutLeftBck: _angular_animations.AnimationReferenceMetadata;

declare const growVerIn: _angular_animations.AnimationReferenceMetadata;
declare const growVerOut: _angular_animations.AnimationReferenceMetadata;

export { AnimationUtil, EaseIn, EaseInOut, EaseOut, blink, fadeIn, fadeOut, flipBottom, flipHorBck, flipHorFwd, flipLeft, flipRight, flipTop, flipVerBck, flipVerFwd, growVerIn, growVerOut, heartbeat, pulsateBck, pulsateFwd, rotateInBl, rotateInBottom, rotateInBr, rotateInCenter, rotateInDiagonal1, rotateInDiagonal2, rotateInHor, rotateInLeft, rotateInRight, rotateInTl, rotateInTop, rotateInTr, rotateInVer, rotateOutBl, rotateOutBottom, rotateOutBr, rotateOutCenter, rotateOutDiagonal1, rotateOutDiagonal2, rotateOutHor, rotateOutLeft, rotateOutRight, rotateOutTl, rotateOutTop, rotateOutTr, rotateOutVer, scaleInBl, scaleInBottom, scaleInBr, scaleInCenter, scaleInHorCenter, scaleInHorLeft, scaleInHorRight, scaleInLeft, scaleInRight, scaleInTl, scaleInTop, scaleInTr, scaleInVerBottom, scaleInVerCenter, scaleInVerTop, scaleOutBl, scaleOutBottom, scaleOutBr, scaleOutCenter, scaleOutHorCenter, scaleOutHorLeft, scaleOutHorRight, scaleOutLeft, scaleOutRight, scaleOutTl, scaleOutTop, scaleOutTr, scaleOutVerBottom, scaleOutVerCenter, scaleOutVerTop, shakeBl, shakeBottom, shakeBr, shakeCenter, shakeHor, shakeLeft, shakeRight, shakeTl, shakeTop, shakeTr, shakeVer, slideInBl, slideInBottom, slideInBr, slideInLeft, slideInRight, slideInTl, slideInTop, slideInTr, slideOutBl, slideOutBottom, slideOutBr, slideOutLeft, slideOutRight, slideOutTl, slideOutTop, slideOutTr, swingInBottomBck, swingInBottomFwd, swingInLeftBck, swingInLeftFwd, swingInRightBck, swingInRightFwd, swingInTopBck, swingInTopFwd, swingOutBottomBck, swingOutBottomFwd, swingOutLeftBck, swingOutLefttFwd, swingOutRightBck, swingOutRightFwd, swingOutTopBck, swingOutTopFwd };
export type { IAnimationParams };
