import { PinningBackend } from '@ceramicnetwork/common';
import { CID } from 'multiformats/cid';
import { StreamID } from '@ceramicnetwork/streamid';
import { RunningState } from '../state-management/running-state.js';
import { IKVFactory } from './ikv-store.js';
import { StreamStateStore } from './stream-state-store.js';
export declare class PinStore {
    readonly stateStore: StreamStateStore;
    readonly pinning: PinningBackend;
    readonly retrieve: (cid: CID) => Promise<any | null>;
    readonly resolve: (path: string) => Promise<CID>;
    readonly loadStream: (streamID: StreamID) => Promise<RunningState>;
    private readonly concurrentPinsLimit;
    private readonly semaphore;
    constructor(stateStore: StreamStateStore, pinning: PinningBackend, retrieve: (cid: CID) => Promise<any | null>, resolve: (path: string) => Promise<CID>, loadStream: (streamID: StreamID) => Promise<RunningState>, concurrentPinsLimit?: number);
    open(factory: IKVFactory): Promise<void>;
    close(): Promise<void>;
    add(runningState: RunningState, force?: boolean): Promise<void>;
    rm(runningState: RunningState): Promise<void>;
    ls(streamId?: StreamID): Promise<string[]>;
    protected getComponentCIDsOfCommits(commits: Array<CID>, includeAnchorAndCACAO?: boolean): Promise<Array<CID>>;
}
//# sourceMappingURL=pin-store.d.ts.map