import { PromptHelper } from "./PromptHelper.js";
import type { BaseEmbedding } from "./embeddings/types.js";
import type { LLM } from "./llm/types.js";
import type { NodeParser } from "./nodeParsers/types.js";
/**
 * The ServiceContext is a collection of components that are used in different parts of the application.
 */
export interface ServiceContext {
    llm: LLM;
    promptHelper: PromptHelper;
    embedModel: BaseEmbedding;
    nodeParser: NodeParser;
}
export interface ServiceContextOptions {
    llm?: LLM;
    promptHelper?: PromptHelper;
    embedModel?: BaseEmbedding;
    nodeParser?: NodeParser;
    chunkSize?: number;
    chunkOverlap?: number;
}
export declare function serviceContextFromDefaults(options?: ServiceContextOptions): ServiceContext;
export declare function serviceContextFromServiceContext(serviceContext: ServiceContext, options: ServiceContextOptions): {
    llm: LLM<object, object>;
    promptHelper: PromptHelper;
    embedModel: BaseEmbedding;
    nodeParser: NodeParser;
};
