@limlabs/limo
Version:
Infrastructure as Code generator
37 lines (36 loc) • 1.77 kB
TypeScript
import { ResourceGroupType } from "../resourceGroups";
import { BaseTemplate } from "../templates";
export declare const AllFrameworkTypes: readonly ["nextjs", "tanstack-start", "unknown"];
/**
* Represents the type of framework being used.
*
* - 'nextjs': Indicates that the framework is Next.js.
* - 'tanstack-start': Indicates that the framework is TanStack Start.
* - 'unknown': Indicates that the framework is unknown.
*/
export type FrameworkType = (typeof AllFrameworkTypes)[number];
/**
* Detects the framework being used in the resource group.
*
* @returns {Promise<FrameworkType>} The detected framework type.
*/
export declare function detectFramework(directory?: string): Promise<FrameworkType>;
/**
* Gets the supported resource group types for a given framework.
*
* @param {BaseTemplate} framework - The framework to get supported resource group types for.
*
* @returns {Promise<ResourceGroupType[]>} The supported resource group types for the given framework.
*/
export declare function getSupportedResourceGroupTypesForFramework(framework: FrameworkType): Promise<("fullstack-aws" | "staticsite-aws")[]>;
/**
* Imports a framework based on the given framework type.
*
* @param {FrameworkType} frameworkType - The type of framework to import.
* @param {ResourceGroupType} resourceGroupType - The type of resource group to import.
* @param {string} resourceGroupName - the name of the resource group to import.
* @param {string} directory - The directory to import the framework into.
*
* @returns {Promise<FrameworkTemplate>} The imported framework.
*/
export declare function importFramework(frameworkType: FrameworkType, resourceGroupType: ResourceGroupType, resourceGroupName: string, directory?: string): Promise<BaseTemplate>;