import { ThemeOptions, ShadeMultipliers, ThemeOption, Theme } from "../types";
/**
 * **customOptions**
 * - colour input from user to generate theme
 * - user's input is validated first, if errors, return error and stop
 * - if no errors, merge with default options
 * - apply options to generate theme
 *
 * **customShades**
 * - if user provides custom shades, validate first
 * - if no errors, merge with default shades
 * - apply shades to generate theme
 *
 * @param InputObject
 * @returns
 */
export default function useThemer({ customOptions, customShades, }: {
    customOptions?: ThemeOptions;
    customShades?: ShadeMultipliers;
}): {
    themeOptions: ThemeOption | {
        params_l: {
            useDefault: boolean;
        };
        hex: string;
        generateShades: boolean;
        params_default: import("../types").ThemeParams;
    } | undefined;
    themeShades: ShadeMultipliers | undefined;
    theme: Theme;
    errors: {};
};
