import { initOptionsSchema } from './commands/init'; import { z } from 'zod'; /** * Represents the type of framework being used. * * - 'nextjs': Indicates that the framework is Next.js. * - 'unknown': Indicates that the framework is unknown. */ export type FrameworkType = 'nextjs' | 'tanstack-start' | 'unknown'; export declare const AllFrameworkTypes: readonly ["nextjs", "tanstack-start", "unknown"]; /** * Represents a langauge-specific framework, such as Laravel, Django, or Next.js. */ export interface Framework { dependsOn(inputs: any): Promise<{ packages: string[]; files: string[]; }>; inputs: (cmdArgs: any, projectInputs: any) => Promise<{ name: string; message: string; schema: any; }[]>; collectInput: (cmdArgs: any, projectInputs: any, frameworkArgs: any) => Promise; default: (inputs: any) => Promise; } /** * A constant object that maps recognized framework types to their corresponding project types. * * @constant * @type {Record} * * @property {ProjectType[]} nextjs - Represents the project types associated with the 'nextjs' framework. * @property {ProjectType[]} unknown - Represents all project types associated with an unknown framework. */ export declare const RecognizedProjectFrameworkTypes: { readonly nextjs: readonly ["fullstack-aws", "staticsite-aws"]; readonly 'tanstack-start': readonly ["fullstack-aws"]; readonly unknown: readonly ["fullstack-aws", "staticsite-aws", "fullstack-azure"]; }; /** * Detects the framework being used in the project. * * @returns {Promise} The detected framework type. */ export declare function detectFramework(): Promise; /** * Gets the supported project types for a given framework. * * @param {FrameworkType} framework - The framework to get supported project types for. * * @returns {Promise} The supported project types for the given framework. */ export declare function getSupportedProjectTypesForFramework(framework: FrameworkType): Promise; export declare function importFramework(frameworkType: FrameworkType): Promise; export declare function renderFramework(cmdArgs: z.infer, framework: Framework, inputs: any): Promise;