/**
 * @typedef {import('ipfs-core-types/src/pin').API} PinAPI
 * @typedef {import('ipfs-core-types/src/refs').API} RefsAPI
 * @typedef {import('ipfs-repo').IPFSRepo} IPFSRepo
 * @typedef {import('interface-datastore').Key} Key
 * @typedef {import('multiformats/hashes/interface').MultihashHasher} MultihashHasher
 * @typedef {import('ipfs-core-utils/multihashes').Multihashes} Multihashes
 */
/**
 * Perform mark and sweep garbage collection
 *
 * @param {object} config
 * @param {IPFSRepo} config.repo
 * @param {Multihashes} config.hashers
 */
export function createGc({ repo, hashers }: {
    repo: IPFSRepo;
    hashers: Multihashes;
}): (options?: import("ipfs-core-types/src/repo").GCOptions | undefined) => AsyncIterable<import("ipfs-core-types/src/repo").GCResult>;
export type PinAPI = import('ipfs-core-types/src/pin').API;
export type RefsAPI = import('ipfs-core-types/src/refs').API;
export type IPFSRepo = import('ipfs-repo').IPFSRepo;
export type Key = import('interface-datastore').Key;
export type MultihashHasher = import('multiformats/hashes/interface').MultihashHasher;
export type Multihashes = import('ipfs-core-utils/multihashes').Multihashes;
//# sourceMappingURL=gc.d.ts.map