/** * Framework Plugin Interface * * Base class for all framework plugins (prisma-trpc, nextjs, expo, etc.) * Framework plugins handle deployment of specific application frameworks. */ import type { FactiiiConfig, Fix, DeployResult } from '../../types/index.js'; /** * Abstract base class for framework plugins */ export declare abstract class FrameworkPlugin { static readonly id: string; static readonly name: string; static readonly category: 'framework'; static readonly version: string; static readonly fixes: Fix[]; static readonly requiredEnvVars: string[]; static readonly configSchema: Record; static readonly autoConfigSchema: Record; protected config: FactiiiConfig; constructor(config: FactiiiConfig); /** * Determine if this plugin should be loaded for this project * @param rootDir - Project root directory * @param config - Loaded config */ static shouldLoad(_rootDir: string, _config: FactiiiConfig): Promise; /** * Auto-detect framework configuration * @param rootDir - Project root directory */ static detectConfig(_rootDir: string): Promise>; /** * Deploy to an environment */ abstract deploy(config: FactiiiConfig, environment: string): Promise; /** * Undeploy from an environment */ abstract undeploy(config: FactiiiConfig, environment: string): Promise; } export default FrameworkPlugin; //# sourceMappingURL=framework.d.ts.map