import type { PersistedOptions } from '../config-file.js'; import type { AddOn, AddOnInfo, Environment } from '../types.js'; export declare const ADD_ON_IGNORE_FILES: Array; export declare function camelCase(str: string): string; export declare function templatize(routeCode: string, routeFile: string): { url: string; code: string; name: string; jsName: string; }; export declare function validateAddOnSetup(environment: Environment): Promise; export declare function readOrGenerateAddOnInfo(options: PersistedOptions): Promise; export declare function generateProject(persistedOptions: PersistedOptions): Promise<{ info: { type: "add-on" | "example" | "starter" | "toolchain" | "deployment"; description: string; id: string; name: string; modes: string[]; phase: "add-on" | "example" | "setup"; supportedPackageManagers?: ("npm" | "yarn" | "pnpm" | "bun" | "deno")[] | undefined; command?: { command: string; args?: string[] | undefined; } | undefined; options?: Record | undefined; default?: boolean | undefined; author?: string | undefined; version?: string | undefined; link?: string | undefined; license?: string | undefined; warning?: string | undefined; tailwind?: boolean | undefined; category?: "other" | "tanstack" | "database" | "orm" | "auth" | "deploy" | "styling" | "monitoring" | "cms" | "api" | "analytics" | "i18n" | "tooling" | undefined; exclusive?: ("database" | "orm" | "auth" | "deploy" | "linter")[] | undefined; color?: string | undefined; priority?: number | undefined; partner?: { id: string; tier: "gold" | "silver" | "bronze"; placementWeight?: number | undefined; } | undefined; routes?: { path?: string | undefined; name?: string | undefined; url?: string | undefined; jsName?: string | undefined; icon?: string | undefined; }[] | undefined; packageAdditions?: { pnpm?: { onlyBuiltDependencies?: string[] | undefined; } | undefined; dependencies?: Record | undefined; devDependencies?: Record | undefined; engines?: Record | undefined; scripts?: Record | undefined; } | undefined; variables?: unknown[] | undefined; shadcnComponents?: string[] | undefined; dependsOn?: string[] | undefined; smallLogo?: string | undefined; logo?: string | undefined; addOnSpecialSteps?: string[] | undefined; createSpecialSteps?: string[] | undefined; postInitSpecialSteps?: string[] | undefined; envVars?: { name: string; file?: ".env" | ".env.local" | undefined; description?: string | undefined; default?: string | undefined; required?: boolean | undefined; secret?: boolean | undefined; }[] | undefined; integrations?: { type?: string | undefined; code?: string | undefined; path?: string | undefined; jsName?: string | undefined; import?: string | undefined; }[] | undefined; readme?: string | undefined; readmeIsEjs?: boolean | undefined; }; output: import("../edge-environment.js").MemoryEnvironmentOutput; }>; export declare function buildAssetsDirectory(output: { files: Record; }, info: AddOnInfo): Promise; export declare function updateAddOnInfo(environment: Environment): Promise; export declare function compileAddOn(environment: Environment): Promise; export declare function initAddOn(environment: Environment): Promise; export declare function devAddOn(environment: Environment): Promise; export declare function loadRemoteAddOn(url: string): Promise;