import type { CSSProperties, Ref } from 'vue';
type ColorValue = string | false | null | undefined;
export declare const makeColorProps: <Defaults extends {
    color?: unknown;
    textColor?: unknown;
} = {}>(defaults?: Defaults | undefined) => {
    color: unknown extends Defaults["color"] ? StringConstructor : {
        type: import("vue").PropType<unknown extends Defaults["color"] ? string : string | Defaults["color"]>;
        default: unknown extends Defaults["color"] ? string : string | Defaults["color"];
    };
    textColor: unknown extends Defaults["textColor"] ? StringConstructor : {
        type: import("vue").PropType<unknown extends Defaults["textColor"] ? string : string | Defaults["textColor"]>;
        default: unknown extends Defaults["textColor"] ? string : string | Defaults["textColor"];
    };
};
export declare function useColor(colors: Ref<{
    background?: ColorValue;
    text?: ColorValue;
}>): {
    colorClasses: import("vue").ComputedRef<string[]>;
    colorStyles: import("vue").ComputedRef<CSSProperties>;
};
export interface TextColorData {
    textColorClasses: Ref<string[]>;
    textColorStyles: Ref<CSSProperties>;
}
export interface BackgroundColorData {
    backgroundColorClasses: Ref<string[]>;
    backgroundColorStyles: Ref<CSSProperties>;
}
export declare function useTextColor(color: Ref<ColorValue>): TextColorData;
export declare function useTextColor<T extends Record<K, ColorValue>, K extends string>(props: T, name: K): TextColorData;
export declare function useBackgroundColor(color: Ref<ColorValue>): BackgroundColorData;
export declare function useBackgroundColor<T extends Record<K, ColorValue>, K extends string>(props: T, name: K): BackgroundColorData;
export {};
