import type { Accessor } from '../../accessor/base.ts';
import { type OpTimer } from '../../observe/context.ts';
import type { PathSpec } from '../../types.ts';
import { type ExistsFn, type ObjectStoreDriver, type PairFn } from './driver.ts';
/**
 * Account for a copy onto `dst`: the change is recorded, so a snapshot drops
 * the destination's earlier pin. Mirrors Python's settle_copy.
 */
export declare function settleCopy(dst: PathSpec, vfs: string, timer: OpTimer): void;
/**
 * Build single-object copy over one driver. The driver must carry a
 * native copy — a store without one leaves copy unwired, which the
 * dispatcher surfaces as ENOTSUP.
 */
export declare function makeCopy<A extends Accessor, C>(driver: ObjectStoreDriver<A, C>, exists: ExistsFn<A>): PairFn<A>;
//# sourceMappingURL=copy.d.ts.map