import { KeyValuePair } from 'tailwindcss/types/config';
import { ThemeHelper } from '../theme-helper';

export interface ComponentStyleDefinition extends Record<string, React.CSSProperties | ComponentStyleDefinition> {
}
export type GetComponentsFn = (themeHelper: ThemeHelper) => ComponentStyleDefinition;
export type AnimationDefinition = KeyValuePair<string, React.CSSProperties>;
export type GetAnimationsFn = () => KeyValuePair<string, AnimationDefinition>;
export type TailwindCustomComponent = {
    /**
     * Returns all the components to be registered with addComponents
     */
    getComponents?: GetComponentsFn;
    /**
     * Returns all animations that should be registered with the theme object
     */
    getAnimations?: GetAnimationsFn;
};
