import type { Config } from "ipfs-core-types/src/config/index.js"; import type { IPFS } from "ipfs-core-types"; import type { IPFSRepo } from "ipfs-repo"; import type { KeyType } from "@libp2p/interface-keys"; import type { Libp2pOptions } from "libp2p"; import type { PeerId } from "@libp2p/interface-peer-id"; /** * See https://github.com/ipfs/js-ipfs/blob/6be59068cc99c517526bfa123ad475ae05fcbaef/packages/ipfs-core/src/types.ts#L15 for more info. */ export declare type Options = { config?: Config; init?: { algorithm?: KeyType; allowNew?: boolean; bits?: number; emptyRepo?: boolean; privateKey?: PeerId | string; profiles?: string[]; }; libp2p?: Partial; pass?: string; preload?: { enabled?: boolean; cache?: number; addresses?: string[]; }; relay?: { enabled?: boolean; hop?: { enabled?: boolean; active?: boolean; }; }; repo?: IPFSRepo; repoAutoMigrate?: boolean; silent?: boolean; }; export declare type IPFSPackage = { create: (options?: Options) => IPFS; };