import type { ReactNode } from 'react';
export interface BFUITheme {
    colors: {
        surface: {
            bg: string;
            bgDark: string;
        };
        text: {
            primary: string;
            primaryDark: string;
            body: string;
            bodyDark: string;
        };
        border: {
            default: string;
            defaultDark: string;
        };
    };
    spacing: {
        1: string;
        2: string;
        3: string;
        4: string;
        6: string;
    };
    radii: {
        sm: string;
        md: string;
        lg: string;
    };
    shadows: {
        sm: string;
        md: string;
        lg: string;
    };
    typography: {
        fontSizes: {
            base: string;
            lg: string;
            xl: string;
        };
        fontWeights: {
            normal: number;
            medium: number;
            semibold: number;
            bold: number;
        };
    };
    transitions: {
        default: string;
    };
}
export interface BFUIProviderProps {
    theme?: Partial<BFUITheme>;
    components?: Record<string, React.ComponentType<any>>;
    children: ReactNode;
}
export interface BFUIComponentProps {
    /** Component identifier */
    id: string;
    /** Additional class names */
    className?: string;
    /** Additional HTML attributes */
    attributes?: Record<string, any>;
}
export interface BFUIComponentConfig<P = any> {
    /** Component name */
    name: string;
    /** Component description */
    description?: string;
    /** Component default props */
    defaultProps?: Partial<P>;
}
//# sourceMappingURL=types.d.ts.map