export interface IGenerateConfigItem {
    cEasing?: [number, number, number, number];
    cTarget: number;
    hEasing?: [number, number, number, number];
    hRotate: number;
    tEasing?: [number, number, number, number];
    tTarget: number;
}
interface IGenerateConfigGroup {
    down: IGenerateConfigItem;
    up: IGenerateConfigItem;
}
export interface IGenerateConfig {
    dark: IGenerateConfigGroup;
    hue: {
        multiply: number;
        segment: [number, number];
    };
    light: IGenerateConfigGroup;
    neutral: {
        cEasingDown?: [number, number, number, number];
        cEasingUp?: [number, number, number, number];
        cStart: number;
        cTarget: number;
        standard: string;
    };
    step: {
        down: number;
        up: number;
    };
}
export declare const defaultConfig: IGenerateConfig;
declare class GenerateScale {
    config: IGenerateConfig;
    constructor(config?: IGenerateConfig);
    gen(color: string, opts?: {
        neutral?: boolean;
        theme: 'light' | 'dark';
    }): string[];
    genNeutral(color: string, opts: {
        neutral?: boolean;
        theme: 'light' | 'dark';
    }): string[];
    genList(hctColor: number[], direction?: 'up' | 'down', dark?: boolean, neutral?: boolean): number[][];
    private hueRotate;
    private genCalcHueVaule;
    private calcHueRotate;
}
export default GenerateScale;
