import { ServerActionDefinition, ActionDefinition, EnhancedComponent, HttpMethod } from "../types";
/**
 * Server Action Generator
 * Generates Next.js server actions based on component requirements
 */
export declare class ServerActionGenerator {
    /**
     * Generate server actions for a component
     */
    generateServerActions(component: EnhancedComponent): Promise<ServerActionDefinition[]>;
    /**
     * Generate form submission server action
     */
    private generateFormSubmitAction;
    /**
     * Generate data fetching server action
     */
    private generateDataFetchAction;
    /**
     * Generate CRUD actions for interactive components
     */
    private generateCRUDActions;
    /**
     * Generate client actions that connect to server actions
     */
    generateClientActions(component: EnhancedComponent, serverActions: ServerActionDefinition[]): ActionDefinition[];
    /**
     * Generate API endpoint definition from server action
     */
    generateApiEndpoint(serverAction: ServerActionDefinition, component: EnhancedComponent): {
        path: string;
        method: HttpMethod;
        action: string;
    };
    /**
     * Helper: Get database table name from component
     */
    private getDatabaseTable;
    /**
     * Helper: Convert to kebab-case
     */
    private toKebabCase;
    /**
     * Helper: Convert to snake_case
     */
    private toSnakeCase;
    /**
     * Helper: Pluralize word
     */
    private pluralize;
    /**
     * Helper: Capitalize first letter
     */
    private capitalize;
}
//# sourceMappingURL=serverActionGenerator.d.ts.map