import type { SupabaseClient } from '@supabase/supabase-js'; import type { OptionsBase } from '../schemas/base'; import type { Database } from '../types/supabase.types'; import { type PreviewWebEnv } from './web-url'; type CapgoSupabaseClient = SupabaseClient; export interface PreviewQrCommandOptions extends OptionsBase { bundle?: string; channel?: string; target?: string; type?: 'bundle' | 'channel'; png?: string; url?: boolean; webUrl?: boolean; previewEnv?: PreviewWebEnv; } export type PreviewQrTarget = { appId: string; bundleName: string; kind: 'bundle'; versionId: number; } | { appId: string; channelId: number; channelName: string; kind: 'channel'; }; export declare function buildPreviewQrUrl(target: PreviewQrTarget): string; export declare function renderTerminalQrCode(value: string): Promise; export declare function renderQrCodePng(value: string, outputPath: string): Promise; export declare function assertAppAllowsPreview(supabase: CapgoSupabaseClient, appId: string): Promise; export declare function resolveBundlePreviewTarget(supabase: CapgoSupabaseClient, appId: string, bundleRef: string): Promise; export declare function resolveChannelPreviewTarget(supabase: CapgoSupabaseClient, appId: string, channelRef: string): Promise; export declare function resolvePreviewQrTarget(supabase: CapgoSupabaseClient, appId: string, options: Pick): Promise; export interface PreviewQrOutputOptions { png?: string; url?: boolean; webUrl?: boolean; previewEnv?: PreviewWebEnv; } export declare function resolvePreviewQrOutputValue(target: PreviewQrTarget, options?: PreviewQrOutputOptions): string; export declare function printPreviewQrCode(target: PreviewQrTarget, options?: PreviewQrOutputOptions): Promise; export declare function printPreviewQrForResolvedTarget(supabase: CapgoSupabaseClient, appId: string, target: PreviewQrTarget, options?: PreviewQrOutputOptions): Promise; export declare function getPreviewQr(appId: string, target: string | undefined, options: PreviewQrCommandOptions): Promise; export {};