/** * Data provider interfaces for database manager components. * Allows components to work with both API (deployment runtime) and IndexedDB (project definitions). */ import type { EdgeFunction, ServerFunction, Secret, ScheduledFunction } from '@/lib/vfs/types'; export interface FunctionsDataProvider { list(): Promise; save(id: string | null, data: Partial): Promise; remove(id: string): Promise; toggle(id: string, enabled: boolean): Promise; } export interface ServerFunctionsDataProvider { list(): Promise; save(id: string | null, data: Partial): Promise; remove(id: string): Promise; toggle(id: string, enabled: boolean): Promise; } export interface SecretsDataProvider { list(): Promise<{ secrets: Secret[]; encryptionConfigured: boolean }>; save(id: string | null, data: { name: string; value?: string; description?: string }): Promise; remove(id: string): Promise; } export interface ScheduledFunctionsDataProvider { listScheduled(): Promise; listEdgeFunctions(): Promise; save(id: string | null, data: Partial): Promise; remove(id: string): Promise; toggle(id: string, enabled: boolean): Promise; }