/// <reference types="node" />
import { Writable } from 'stream';
import type { Core } from '@strapi/types';
import type { Transaction } from '../../../../types/utils';
export interface CreateAssetsDestinationWritableOptions {
    strapi: Core.Strapi;
    transaction: Transaction;
    resolveUploadFileId: (metadata: {
        id: number;
    }) => number | undefined;
    restoreMediaEntitiesContent: boolean;
    removeAssetsBackup: () => Promise<void>;
}
/**
 * Writable for restoring upload assets during a local push destination transfer.
 *
 * The Writable `write()` callback must return as soon as the chunk is accepted — **before**
 * `uploadStream` finishes — so the remote push handler can feed PassThrough data in the same
 * WebSocket batch after an asset `start` row (see `streamAsset` in remote `push` handler).
 */
export declare function createAssetsDestinationWritable(options: CreateAssetsDestinationWritableOptions): Writable;
//# sourceMappingURL=assets-destination-writable.d.ts.map