import type { S3Accessor } from '../../accessor/s3.ts';
import type { PathSpec } from '../../types.ts';
export declare const copy: import("../object_store/driver.ts").PairFn<S3Accessor>;
/**
 * Copy an object from another S3 mount's bucket into this one's, in S3.
 *
 * One CopyObject, sent with this mount's client. S3 copies across buckets
 * when one set of credentials reaches both, so it is tried only when both
 * mounts send their requests to the same endpoint with the same credentials;
 * otherwise, or when S3 refuses it, it is EXDEV, and the caller moves the
 * bytes. A presigned mount signs only what its provider allows, so it is
 * EXDEV there too. A missing source is ENOENT. Mirrors Python's `copy_from`.
 */
export declare function copyFrom(accessor: S3Accessor, source: S3Accessor, src: PathSpec, dst: PathSpec): Promise<void>;
//# sourceMappingURL=copy.d.ts.map