import type { AccessController, Identity, Storage, DagCborEncodable, MetaData, Log, LogEntry, InternalDatabase } from "@orbitdb/core"; import type { Helia } from "helia"; import type { Libp2p } from "libp2p"; import type { ServiceMap } from "@libp2p/interface"; export type FeedDatabaseType = Awaited>>; declare const Feed: { (): ({ ipfs, identity, address, name, access, directory, meta, headsStorage, entryStorage, indexStorage, referencesCount, syncAutomatically, onUpdate, signal, }: { ipfs: Helia>; identity?: Identity; address: string; name?: string; access?: AccessController; directory?: string; meta?: MetaData; headsStorage?: Storage; entryStorage?: Storage; indexStorage?: Storage; referencesCount?: number; syncAutomatically?: boolean; onUpdate?: (log: Log, entry: LogEntry) => void; signal?: AbortSignal; }) => Promise<{ type: "feed"; add: (value: DagCborEncodable) => Promise; remove: (hash: string) => Promise; iterator: ({ amount, }?: { amount?: number; }) => AsyncGenerator<{ value: unknown; hash: string; }, void, unknown>; all: () => Promise<{ value: unknown; hash: string; }[]>; address: string; name: string; identity: Identity; meta: MetaData; close: () => Promise; drop: () => Promise; addOperation: (op: DagCborEncodable) => Promise; log: Log; sync: import("@orbitdb/core").Sync; peers: Set; events: TypedEmitter; access: AccessController; }>; type: "feed"; }; export declare const FeedApi: { ({ database }: { database: InternalDatabase; }): { add: (value: DagCborEncodable) => Promise; remove: (hash: string) => Promise; iterator: ({ amount, }?: { amount?: number; }) => AsyncGenerator<{ value: unknown; hash: string; }, void, unknown>; all: () => Promise<{ value: unknown; hash: string; }[]>; }; type: "feed"; }; export default Feed;