import { Readable } from 'stream'; import type Repository from './repository'; import type Ref from './ref'; import type { Scope } from '@teambit/legacy.scope'; import type { Lane, LaneHistory, ModelComponent } from '../models'; export type ComponentWithCollectOptions = { component: ModelComponent; version: string; collectParents: boolean; collectParentsUntil?: Ref | null; collectArtifacts: boolean; includeVersionHistory?: boolean; }; export declare class ObjectsReadableGenerator { private repo; private callbackOnceDone; readable: Readable; private pushed; constructor(repo: Repository, callbackOnceDone: Function); pushObjectsToReadable(componentsWithOptions: ComponentWithCollectOptions[]): Promise; pushLanes(lanesToFetch: Lane[], lanesHistory?: LaneHistory[]): Promise; pushObjects(refs: Ref[], scope: Scope): Promise; private closeReadableSuccessfully; private closeReadableFailure; private bitObjectToItem; private getObjectGracefully; private pushScopeMeta; private push; private pushManyObjects; private pushComponentObjects; }