import type { SupabaseClient } from '@supabase/supabase-js';
import type { OptionsBase } from '../schemas/base';
import type { Database } from '../types/supabase.types';
type CapgoSupabaseClient = SupabaseClient<Database>;
export interface PreviewQrCommandOptions extends OptionsBase {
    bundle?: string;
    channel?: string;
    target?: string;
    type?: 'bundle' | 'channel';
}
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<string>;
export declare function assertAppAllowsPreview(supabase: CapgoSupabaseClient, appId: string): Promise<void>;
export declare function resolveBundlePreviewTarget(supabase: CapgoSupabaseClient, appId: string, bundleRef: string): Promise<PreviewQrTarget | null>;
export declare function resolveChannelPreviewTarget(supabase: CapgoSupabaseClient, appId: string, channelRef: string): Promise<PreviewQrTarget | null>;
export declare function resolvePreviewQrTarget(supabase: CapgoSupabaseClient, appId: string, options: Pick<PreviewQrCommandOptions, 'bundle' | 'channel' | 'target' | 'type'>): Promise<PreviewQrTarget>;
export declare function printPreviewQrCode(target: PreviewQrTarget): Promise<void>;
export declare function printPreviewQrForResolvedTarget(supabase: CapgoSupabaseClient, appId: string, target: PreviewQrTarget): Promise<void>;
export declare function getPreviewQr(appId: string, target: string | undefined, options: PreviewQrCommandOptions): Promise<void>;
export {};
