export interface ProjectType {
    isVite: boolean;
    isNext: boolean;
    isOnlineIDE: boolean;
    type: 'vite' | 'nextjs' | 'nuxt' | 'remix' | 'react';
    hasTypeScript?: boolean;
    packageManager?: 'npm' | 'yarn' | 'pnpm' | 'bun';
    framework?: string;
}
export interface ComponentMeta {
    name: string;
    type: string;
    files: ComponentFile[];
    dependencies?: string[];
    registryDependencies?: string[];
    tailwind?: {
        config?: Record<string, any>;
    };
    cssVars?: {
        light?: Record<string, string>;
        dark?: Record<string, string>;
    };
}
export interface ComponentFile {
    path?: string;
    name?: string;
    content: string;
    type?: string;
}
export interface InstallOptions {
    dryRun?: boolean;
    overwrite?: boolean;
    baseDir?: string;
    isVite?: boolean;
    verbose?: boolean;
    skipDeps?: boolean;
    componentDir?: string;
    libDir?: string;
    includeUnstable?: boolean;
}
export interface InstallResult {
    installed: string[];
    failed: Array<{
        component: string;
        error: string;
    }>;
}
export interface ComponentsConfig {
    $schema: string;
    style: string;
    rsc: boolean;
    tsx: boolean;
    tailwind: {
        config: string;
        css: string;
        baseColor: string;
        cssVariables: boolean;
        prefix: string;
    };
    aliases: {
        components: string;
        utils: string;
        ui: string;
        lib: string;
    };
    registries: {
        default: string;
        willow: string;
        shadcn: string;
    };
    iconLibrary: string;
    url: string;
}
export declare const WILLOW_REGISTRY: "https://iridescent-brigadeiros-fe4174.netlify.app/r";
export declare const STABLE_COMPONENTS: readonly ["button", "badge", "card", "input", "label", "select", "textarea", "accordion", "tabs", "modal", "checkbox", "chip", "fancy-button", "form-card", "form-field", "gradient-bg", "highlight", "icon", "info-card", "list", "logo", "skeleton", "switch", "tag", "toast"];
export declare const UNSTABLE_COMPONENTS: readonly ["avatar", "tooltip"];
export declare const AVAILABLE_COMPONENTS: readonly ["button", "badge", "card", "input", "label", "select", "textarea", "accordion", "tabs", "modal", "checkbox", "chip", "fancy-button", "form-card", "form-field", "gradient-bg", "highlight", "icon", "info-card", "list", "logo", "skeleton", "switch", "tag", "toast", "avatar", "tooltip"];
export type ComponentName = typeof AVAILABLE_COMPONENTS[number];
//# sourceMappingURL=index.d.ts.map