import type { Context } from "../context.js"; import { Folder } from "../fs/folder.js"; import { Resource } from "../resource.js"; /** * Properties for initializing Shadcn UI */ export interface ShadcnUIProps { /** * The working directory where Shadcn UI should be installed */ cwd: string; /** * The base color to use * @default "neutral" */ baseColor?: "neutral" | "gray" | "zinc" | "stone" | "slate"; /** * Use default configuration * @default false */ defaults?: boolean; /** * Force overwrite of existing configuration * @default false */ force?: boolean; /** * Mute output * @default false */ silent?: boolean; /** * Use the src directory when creating a new project * @default true */ srcDir?: boolean; /** * Use css variables for theming * @default true */ cssVariables?: boolean; /** * The components to add */ components?: string[]; /** * Whether tailwind is already installed and configured. * Shadcn UI requires Tailwind CSS to be installed and configured. * @default false */ tailwind?: boolean; /** * Whether react is already installed * @default false */ react?: boolean; } /** * Shadcn UI resource */ export interface ShadcnUI extends ShadcnUIProps, Resource<"project::ShadcnUI"> { /** * The working directory where Shadcn UI is installed */ cwd: string; /** * The ui directory */ ui: Folder; /** * The lib directory */ lib: Folder; } /** * Initializes Shadcn UI in a project directory * * @example * // Initialize Shadcn UI with default settings * const shadcn = await ShadcnUI("my-shadcn", { * cwd: "my-project", * tailwind: true, // Tailwind must be installed separately * react: true // React must be installed separately * }); * * @example * // Initialize Shadcn UI with custom settings and components * const shadcn = await ShadcnUI("custom-shadcn", { * cwd: "my-project", * baseColor: "zinc", * force: true, * components: ["button", "card", "input"], * tailwind: true, // Tailwind must be installed separately * react: true // React must be installed separately * }); */ export declare const ShadcnUI: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | ((this: Context, id: string, props: ShadcnUIProps) => Promise); //# sourceMappingURL=shadcn.d.ts.map