import type { LocalContent } from '../../../content/reader';
import type { OutputContext } from '../../../output';
import type { ManagementClient } from '../../../../client/management';
/**
 * Convert LocalContent to a structure that extractMediaPaths can walk.
 * LocalContent.entries is a Map, but extractMediaPaths uses Object.keys()
 * which doesn't work on Maps.
 */
export declare function localContentToExtractable(content: LocalContent): unknown;
/**
 * Sync media from source to target environment for a push.
 * Downloads files from source Supabase and uploads to target via management API.
 */
export declare function syncMediaFilesForPush(params: {
    content: LocalContent;
    sourceClient: ManagementClient;
    sourceSupabaseUrl: string;
    sourceSiteId: string;
    targetClient: ManagementClient;
    output: OutputContext;
    overwrite?: boolean;
}): Promise<void>;
