import { type Snapshot, type SnapshotUploadRes } from 'zephyr-edge-contract';
import type { EnvironmentConfig } from '../node-persist/upload-provider-options.js';
interface SnapshotTargetConfiguration {
    EDGE_URL: string;
    ENVIRONMENTS?: Record<string, EnvironmentConfig>;
}
interface SnapshotUploadTarget {
    edgeUrl: string;
    snapshot: Snapshot;
}
/** Build a deterministic, deduplicated upload plan without changing snapshot identity. */
export declare function createSnapshotUploadTargets(snapshot: Snapshot, config: SnapshotTargetConfiguration): SnapshotUploadTarget[];
export declare function uploadSnapshot({ body, application_uid, }: {
    body: Snapshot;
    application_uid: string;
}): Promise<SnapshotUploadRes>;
export {};
//# sourceMappingURL=upload-snapshot.d.ts.map