import { z } from 'zod'

/**
 * BismillahCSS Design Intelligence Schema
 * Validates framework configuration and theme objects.
 */
export const bConfigSchema = z.object({
    theme: z.object({
        colors: z.record(z.string()).optional(),
        spacing: z.record(z.string()).optional(),
        borderRadius: z.record(z.string()).optional(),
        fontFamily: z.record(z.string()).optional(),
        glows: z.record(z.string()).optional(),
        blur: z.record(z.string()).optional(),
    }).optional(),
    plugins: z.array(z.any()).optional(),
    prefix: z.string().optional(),
    important: z.boolean().optional(),
})

export type BConfig = z.infer<typeof bConfigSchema>

export const bComponentSchema = z.object({
    name: z.string(),
    type: z.enum(['primitive', 'layout', 'atom', 'molecule']),
    styles: z.string(),
    logic: z.string().optional(),
    version: z.string(),
})

export type BComponent = z.infer<typeof bComponentSchema>
