import { BasicRandom } from './basic-random';
import { ColorDB } from './database';
import { RGBBaseOptions, HSLBaseOPtions } from './color-utils';
export { RGBBaseOptions, HSLBaseOPtions };
/**
 * Generator for color
 * @public
 */
export declare class ColorRandom extends BasicRandom {
    database: ColorDB;
    /**
     * return a rag color
     */
    rgb(options?: RGBOptions): string;
    /**
     * return a rag color with alpha
     */
    rgba(optios?: RGBAOptions): string;
    /**
     *  return a hsl color
     */
    hsl(options?: HSLOptions): string;
    /**
     * return a hsl color with alpha
     */
    hsla(options?: HSLAOptions): string;
    /**
     * return a {@link https://developer.mozilla.org/en-US/docs/Web/CSS/color_value | Color Keyword}
     */
    colorName(): string;
    /**
     * return a hex color
     * @param options - the parmas
     */
    hexColor(options?: HexColorOptions): string;
    /**
     * return a	decimal color
     * @param options - the parmas
     */
    decimalColor(options?: RGBBaseOptions): number;
}
declare type Casing = 'lower' | 'upper';
/**
 * @public
 */
export interface RGBOptions extends RGBBaseOptions {
    /** the case */
    casing?: Casing;
}
/**
 * @public
 */
export interface RGBAOptions extends RGBBaseOptions {
    casing?: Casing;
    minA: number;
    maxA: number;
}
/**
 * @public
 */
export interface HSLOptions extends HSLBaseOPtions {
    casing?: Casing;
}
/**
 * @public
 */
export interface HSLAOptions extends HSLBaseOPtions {
    casing?: Casing;
    minA: number;
    maxA: number;
}
/**
 * @public
 */
export interface HexColorOptions extends RGBOptions {
    /** has prefix or not `#` */
    prefix?: boolean;
}
