export type ColorConstructor = new (value: any) => Color;
export interface IColor {
    type?: string;
    preview?: string;
    profileId?: string;
}
export declare abstract class Color {
    protected constructor(value: IColor | any);
    protected _previewFromServer: boolean;
    get previewFromServer(): boolean;
    preview: string;
    profileId: string;
    abstract clone(): Color;
    abstract toString(): string;
    abstract get type(): string;
    abstract get alpha(): number;
    protected abstract _getPreview(): string;
    needUpdate(defaultRgbProfileId: string): boolean;
    equals(color: Color, ignorePreview?: boolean): boolean;
    getData(): IColor;
    protected _init(colorObject: IColor): void;
    protected _validateString(value: string): void;
    protected _validateNumber(value: number, min?: number, max?: number): void;
    static equals(a: Color, b: Color): boolean;
}
