import type { PlatformApiClient } from "@llamaindex/cloud";
import { type BaseNode, type Document, type Metadata } from "../Node.js";
import { type ClientParams } from "../cloud/types.js";
import type { BaseReader } from "../readers/type.js";
import type { BaseDocumentStore } from "../storage/docStore/types.js";
import type { VectorStore, VectorStoreByType } from "../storage/vectorStore/types.js";
import { IngestionCache } from "./IngestionCache.js";
import { DocStoreStrategy } from "./strategies/index.js";
import type { TransformComponent } from "./types.js";
type IngestionRunArgs = {
    documents?: Document[];
    nodes?: BaseNode[];
};
type TransformRunArgs = {
    inPlace?: boolean;
    cache?: IngestionCache;
    docStoreStrategy?: TransformComponent;
};
export declare function runTransformations(nodesToRun: BaseNode[], transformations: TransformComponent[], transformOptions?: any, { inPlace, cache, docStoreStrategy }?: TransformRunArgs): Promise<BaseNode[]>;
export declare class IngestionPipeline {
    transformations: TransformComponent[];
    documents?: Document[];
    reader?: BaseReader;
    vectorStore?: VectorStore;
    vectorStores?: VectorStoreByType;
    docStore?: BaseDocumentStore;
    docStoreStrategy: DocStoreStrategy;
    cache?: IngestionCache;
    disableCache: boolean;
    client?: PlatformApiClient;
    clientParams?: ClientParams;
    projectName: string;
    name: string;
    private _docStoreStrategy?;
    constructor(init?: Partial<IngestionPipeline> & ClientParams);
    prepareInput(documents?: Document[], nodes?: BaseNode[]): Promise<BaseNode[]>;
    run(args?: IngestionRunArgs & TransformRunArgs, transformOptions?: any): Promise<BaseNode[]>;
    private getClient;
    register(params: {
        documents?: Document[];
        nodes?: BaseNode[];
        verbose?: boolean;
    }): Promise<string>;
}
export declare function addNodesToVectorStores(nodes: BaseNode<Metadata>[], vectorStores: VectorStoreByType, nodesAdded?: (newIds: string[], nodes: BaseNode<Metadata>[], vectorStore: VectorStore) => Promise<void>): Promise<void>;
export {};
