import { Express, Request, Response, NextFunction } from 'express'; import { TableDefinition, DatabaseProvider, FlavoAuthSettings, CustomAuthSettings } from '../types'; interface LegacyServerConfig { database: { provider: DatabaseProvider; connection: any; }; tables: { [tableName: string]: TableDefinition; }; auth?: { providers?: { flavo?: FlavoAuthSettings; custom?: CustomAuthSettings; }; }; port?: number; /** Additional Express middleware to attach */ middleware?: Array<(req: Request, res: Response, next: NextFunction) => void>; } export declare class FastfoldServer { private app; private config; private db; private crudGenerator; private docGenerator; private apiExplorer; constructor(config: LegacyServerConfig); /** * Initialize the server - connect to database and create tables */ initialize(): Promise; /** * Start the server */ start(port?: number): Promise; /** * Get the Express app instance */ getApp(): Express; /** * Setup middleware */ private setupMiddleware; /** * Flavo delegated auth: verify JWTs locally using the app's own public key. */ private setupFlavoAuth; /** * HS256 authentication middleware (original behavior) */ private authMiddleware; /** * Setup API routes for all tables */ private setupRoutes; /** * Setup CRUD routes for a specific table */ private setupTableRoutes; /** * Create request context for security checks */ private createRequestContext; /** * Parse ID parameter (handles both string and number IDs) */ private parseId; /** * Handle errors consistently */ private handleError; /** * Graceful shutdown */ shutdown(): Promise; } /** * Quick start function for Fastfold */ export declare function createFastfoldServer(config: LegacyServerConfig): FastfoldServer; export {}; //# sourceMappingURL=index.d.ts.map