type ListenMode = 'websocket' | 'webhook' | 'disabled'; interface Config { stripeApiKey: string; ngrokAuthToken?: string; databaseUrl: string; enableSigma?: boolean; } interface CliOptions { stripeKey?: string; ngrokToken?: string; databaseUrl?: string; enableSigma?: boolean; interval?: number; workerCount?: number; rateLimit?: number; listenMode?: ListenMode; listenOnly?: boolean; } /** * Load configuration from .env file, environment variables, and interactive prompts. * Values are masked with *** when prompting for sensitive information. */ declare function loadConfig(options: CliOptions): Promise; interface NgrokTunnel { url: string; close: () => Promise; } /** * Create an ngrok tunnel to expose the local server to the internet. * @param port - The local port to expose * @param authToken - ngrok authentication token * @returns The tunnel URL and a close function */ declare function createTunnel(port: number, authToken: string): Promise; interface DeployOptions { supabaseAccessToken?: string; supabaseProjectRef?: string; stripeKey?: string; packageVersion?: string; workerInterval?: number; syncInterval?: number; supabaseManagementUrl?: string; enableSigma?: boolean; rateLimit?: number; } /** * Migration command - runs database migrations only. */ declare function migrateCommand(options: CliOptions): Promise; /** * Full resync command - uses reconciliation to skip if a successful run * completed within the given interval, otherwise re-syncs everything from Stripe. */ declare function fullSyncCommand(options: CliOptions, entityName?: string): Promise; /** * Install command - installs Stripe sync Edge Functions to Supabase. * 1. Validates Supabase project access * 2. Deploys stripe-setup, stripe-webhook, and stripe-worker Edge Functions * 3. Sets required secrets (STRIPE_SECRET_KEY) * 4. Runs the setup function to create webhook and run migrations */ declare function installCommand(options: DeployOptions): Promise; /** * Uninstall command - removes Stripe sync Edge Functions and resources from Supabase. * 1. Validates Supabase project access * 2. Deletes Stripe webhooks * 3. Deletes Edge Functions (stripe-setup, stripe-webhook, stripe-worker) * 4. Deletes secrets and pg_cron jobs * 5. Drops the stripe schema */ declare function uninstallCommand(options: DeployOptions): Promise; export { type CliOptions, type Config, type DeployOptions, type NgrokTunnel, createTunnel, fullSyncCommand, installCommand, loadConfig, migrateCommand, uninstallCommand };