import type { MediaAssetWithLabels, MediaStorageRepo } from '@riverbankcms/media-storage-supabase';
import type { SupabaseClient } from '@supabase/supabase-js';
import type { UploadProgressHandler } from './useUploads';
import { type ClassificationHook, type LoggerLike } from './internal/classification';
export type UseSupabaseMediaUploaderOptions = {
    siteId: string;
    repo: MediaStorageRepo;
    bucket: string;
    supabase: SupabaseClient;
    onClassification?: ClassificationHook;
    logger?: LoggerLike;
};
export declare const useSupabaseMediaUploader: ({ siteId, repo, bucket, supabase, onClassification, logger: providedLogger }: UseSupabaseMediaUploaderOptions) => (file: File, onProgress?: UploadProgressHandler) => Promise<MediaAssetWithLabels>;
