import { AutoBeEvent, AutoBeHistory, IAutoBeCompiler, IAutoBeCompilerListener, IAutoBeGetFilesOptions } from "@autobe/interface";
import { ILlmSchema } from "@samchon/openapi";
import { AutoBeContext } from "../context/AutoBeContext";
import { AutoBeState } from "../context/AutoBeState";
import { AutoBeTokenUsage } from "../context/AutoBeTokenUsage";
import { IAutoBeConfig } from "../structures/IAutoBeConfig";
import { IAutoBeVendor } from "../structures/IAutoBeVendor";
export declare const createAutoBeContext: <Model extends ILlmSchema.Model>(props: {
    model: Model;
    vendor: IAutoBeVendor;
    compiler: () => Promise<IAutoBeCompiler>;
    compilerListener: IAutoBeCompilerListener;
    config: IAutoBeConfig;
    state: () => AutoBeState;
    files: (options: IAutoBeGetFilesOptions) => Promise<Record<string, string>>;
    histories: () => AutoBeHistory[];
    usage: () => AutoBeTokenUsage;
    dispatch: (event: AutoBeEvent) => Promise<void>;
}) => AutoBeContext<Model>;
