/**
 * @license
 * Copyright 2025 Sandlada & Kai Orion
 * SPDX-License-Identifier: MIT
 */
import { type PropType, type SlotsType } from 'vue';
export type TThemeProviderGenerateCallback = () => string;
export interface IThemeProviderThemeChangeCustomEventDetail {
    styleText: string;
}
export declare const ThemeProvider: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    /**
     * Give a function, return a style string.
     */
    generateCallback: {
        default: null;
        type: PropType<TThemeProviderGenerateCallback>;
        required: boolean;
    };
    theme: {
        default: null;
        type: PropType<string>;
        required: boolean;
    };
}>, {}, {
    _theme: string;
    _generateCallback: TThemeProviderGenerateCallback;
}, {}, {
    handleThemeChange(): void;
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    /**
     * Give a function, return a style string.
     */
    generateCallback: {
        default: null;
        type: PropType<TThemeProviderGenerateCallback>;
        required: boolean;
    };
    theme: {
        default: null;
        type: PropType<string>;
        required: boolean;
    };
}>> & Readonly<{
    [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
}>, {
    generateCallback: TThemeProviderGenerateCallback;
    theme: string;
}, SlotsType<{
    default: void;
}>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
//# sourceMappingURL=theme-provider.d.ts.map