import type { UploadBundleResult } from '../schemas/bundle';
import type { UploadReporter, UploadSpinner } from './reporter';
import type { OptionsUpload } from './upload_interface';
import { createSupabaseClient } from '../utils';
type SupabaseType = Awaited<ReturnType<typeof createSupabaseClient>>;
export type { UploadBundleResult };
export type { UploadReporter, UploadSpinner };
export declare function getDefaultUploadChannel(appId: string, supabase: SupabaseType, hostWeb: string): Promise<string>;
export declare function uploadBundleInternal(preAppid: string, options: OptionsUpload, silent?: boolean, reporter?: UploadReporter): Promise<UploadBundleResult>;
/**
 * Validate mutually-exclusive and dependent upload options, failing fast (via
 * `uploadFail`) before any network call. Exported so the option-conflict guards
 * (e.g. `--fail-on-incompatible` + `--ignore-metadata-check`) can be unit-tested
 * directly.
 */
export declare function checkValidOptions(options: OptionsUpload): void;
export declare function uploadBundle(appid: string, options: OptionsUpload): Promise<UploadBundleResult>;
