interface GitPublishOptions { jobId: string; localJobDir: string; githubToken?: string; owner: string; repo: string; branch?: string; commitMessage?: string; createPullRequest?: boolean; } interface GitPublishResult { success: boolean; commitSha?: string; branch: string; pullRequestUrl?: string; publishedFilesCount: number; error?: string; } /** * Publishes generated course artifacts to a designated GitHub Repository (Git-as-CMS) */ declare function publishToGitHub(options: GitPublishOptions): Promise; interface SupabasePublishOptions { jobId: string; courseTitle: string; topic: string; language: string; milestones: Array<{ milestoneId: string; milestoneName: string; lessonSlug: string; summary?: string; }>; supabaseUrl?: string; supabaseServiceKey?: string; bucketName?: string; } interface SupabasePublishResult { success: boolean; learningPathId?: string; syncedMilestonesCount: number; uploadedAssetsCount: number; error?: string; } /** * Publishes metadata and binary assets to Supabase PostgreSQL & Storage Bucket */ declare function publishToSupabase(options: SupabasePublishOptions): Promise; /** * Uploads a binary asset (MP3, SCORM zip, PNG) to Supabase Storage Bucket */ declare function uploadAssetToBucket(filePath: string, storagePath: string, options?: { supabaseUrl?: string; supabaseServiceKey?: string; bucketName?: string; }): Promise<{ success: boolean; publicUrl?: string; error?: string; }>; export { type GitPublishOptions as G, type SupabasePublishOptions as S, type GitPublishResult as a, type SupabasePublishResult as b, publishToSupabase as c, publishToGitHub as p, uploadAssetToBucket as u };