import { Type } from "igniteui-react-core";
import { CT_PositiveFixedPercentage } from "./CT_PositiveFixedPercentage";
import { CT_FixedPercentage } from "./CT_FixedPercentage";
import { CT_PositivePercentage } from "./CT_PositivePercentage";
import { CT_Percentage } from "./CT_Percentage";
import { CT_ComplementTransform } from "./CT_ComplementTransform";
import { CT_GrayscaleTransform } from "./CT_GrayscaleTransform";
import { CT_PositiveFixedAngle } from "./CT_PositiveFixedAngle";
import { CT_Angle } from "./CT_Angle";
import { CT_InverseTransform } from "./CT_InverseTransform";
/**
 * @hidden
 */
export interface IEG_ColorTransform {
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare let IEG_ColorTransform_$type: Type;
/**
 * @hidden
 */
export interface IEG_ColorTransformVisitor$2<TArg, TResult> {
    _visitColorTransform_Alpha$i(a: ColorTransform_Alpha, b: TArg): TResult;
    _visitColorTransform_AlphaMod$i(a: ColorTransform_AlphaMod, b: TArg): TResult;
    _visitColorTransform_AlphaOff$i(a: ColorTransform_AlphaOff, b: TArg): TResult;
    _visitColorTransform_Blue$i(a: ColorTransform_Blue, b: TArg): TResult;
    _visitColorTransform_BlueMod$i(a: ColorTransform_BlueMod, b: TArg): TResult;
    _visitColorTransform_BlueOff$i(a: ColorTransform_BlueOff, b: TArg): TResult;
    _visitColorTransform_Comp$i(a: ColorTransform_Comp, b: TArg): TResult;
    _visitColorTransform_Gray$i(a: ColorTransform_Gray, b: TArg): TResult;
    _visitColorTransform_Green$i(a: ColorTransform_Green, b: TArg): TResult;
    _visitColorTransform_GreenMod$i(a: ColorTransform_GreenMod, b: TArg): TResult;
    _visitColorTransform_GreenOff$i(a: ColorTransform_GreenOff, b: TArg): TResult;
    _visitColorTransform_Hue$i(a: ColorTransform_Hue, b: TArg): TResult;
    _visitColorTransform_HueMod$i(a: ColorTransform_HueMod, b: TArg): TResult;
    _visitColorTransform_HueOff$i(a: ColorTransform_HueOff, b: TArg): TResult;
    _visitColorTransform_Inv$i(a: ColorTransform_Inv, b: TArg): TResult;
    _visitColorTransform_Lum$i(a: ColorTransform_Lum, b: TArg): TResult;
    _visitColorTransform_LumMod$i(a: ColorTransform_LumMod, b: TArg): TResult;
    _visitColorTransform_LumOff$i(a: ColorTransform_LumOff, b: TArg): TResult;
    _visitColorTransform_Red$i(a: ColorTransform_Red, b: TArg): TResult;
    _visitColorTransform_RedMod$i(a: ColorTransform_RedMod, b: TArg): TResult;
    _visitColorTransform_RedOff$i(a: ColorTransform_RedOff, b: TArg): TResult;
    _visitColorTransform_Sat$i(a: ColorTransform_Sat, b: TArg): TResult;
    _visitColorTransform_SatMod$i(a: ColorTransform_SatMod, b: TArg): TResult;
    _visitColorTransform_SatOff$i(a: ColorTransform_SatOff, b: TArg): TResult;
    _visitColorTransform_Shade$i(a: ColorTransform_Shade, b: TArg): TResult;
    _visitColorTransform_Tint$i(a: ColorTransform_Tint, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare let IEG_ColorTransformVisitor$2_$type: Type;
/**
 * @hidden
 */
export declare class ColorTransform_Alpha extends CT_PositiveFixedPercentage implements IEG_ColorTransform {
    static $t: Type;
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare class ColorTransform_AlphaOff extends CT_FixedPercentage implements IEG_ColorTransform {
    static $t: Type;
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare class ColorTransform_AlphaMod extends CT_PositivePercentage implements IEG_ColorTransform {
    static $t: Type;
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare class ColorTransform_Blue extends CT_Percentage implements IEG_ColorTransform {
    static $t: Type;
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare class ColorTransform_BlueOff extends CT_Percentage implements IEG_ColorTransform {
    static $t: Type;
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare class ColorTransform_BlueMod extends CT_Percentage implements IEG_ColorTransform {
    static $t: Type;
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare class ColorTransform_Comp extends CT_ComplementTransform implements IEG_ColorTransform {
    static $t: Type;
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare class ColorTransform_Gray extends CT_GrayscaleTransform implements IEG_ColorTransform {
    static $t: Type;
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare class ColorTransform_Green extends CT_Percentage implements IEG_ColorTransform {
    static $t: Type;
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare class ColorTransform_GreenOff extends CT_Percentage implements IEG_ColorTransform {
    static $t: Type;
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare class ColorTransform_GreenMod extends CT_Percentage implements IEG_ColorTransform {
    static $t: Type;
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare class ColorTransform_Hue extends CT_PositiveFixedAngle implements IEG_ColorTransform {
    static $t: Type;
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare class ColorTransform_HueOff extends CT_Angle implements IEG_ColorTransform {
    static $t: Type;
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare class ColorTransform_HueMod extends CT_PositivePercentage implements IEG_ColorTransform {
    static $t: Type;
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare class ColorTransform_Inv extends CT_InverseTransform implements IEG_ColorTransform {
    static $t: Type;
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare class ColorTransform_Lum extends CT_Percentage implements IEG_ColorTransform {
    static $t: Type;
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare class ColorTransform_LumOff extends CT_Percentage implements IEG_ColorTransform {
    static $t: Type;
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare class ColorTransform_LumMod extends CT_Percentage implements IEG_ColorTransform {
    static $t: Type;
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare class ColorTransform_Red extends CT_Percentage implements IEG_ColorTransform {
    static $t: Type;
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare class ColorTransform_RedOff extends CT_Percentage implements IEG_ColorTransform {
    static $t: Type;
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare class ColorTransform_RedMod extends CT_Percentage implements IEG_ColorTransform {
    static $t: Type;
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare class ColorTransform_Sat extends CT_Percentage implements IEG_ColorTransform {
    static $t: Type;
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare class ColorTransform_SatOff extends CT_Percentage implements IEG_ColorTransform {
    static $t: Type;
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare class ColorTransform_SatMod extends CT_Percentage implements IEG_ColorTransform {
    static $t: Type;
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare class ColorTransform_Shade extends CT_PositiveFixedPercentage implements IEG_ColorTransform {
    static $t: Type;
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare class ColorTransform_Tint extends CT_PositiveFixedPercentage implements IEG_ColorTransform {
    static $t: Type;
    _accept$2$i<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_ColorTransformVisitor$2<TArg, TResult>, b: TArg): TResult;
}
