import { MicroAgentica, MicroAgenticaHistory } from "@agentica/core";
import { ILlmSchema } from "@samchon/openapi";
import { AutoBeTimeoutError } from "./AutoBeTimeoutError";
export declare namespace TimedConversation {
    interface IProps<Model extends ILlmSchema.Model> {
        agent: MicroAgentica<Model>;
        message: string;
        timeout: number | null;
    }
    type IResult<Model extends ILlmSchema.Model> = ISuccessResult<Model> | ITimeoutResult | IErrorResult;
    interface ISuccessResult<Model extends ILlmSchema.Model> {
        type: "success";
        histories: MicroAgenticaHistory<Model>[];
    }
    interface ITimeoutResult {
        type: "timeout";
        error: AutoBeTimeoutError;
    }
    interface IErrorResult {
        type: "error";
        error: Error;
    }
    const process: <Model extends ILlmSchema.Model>(props: IProps<Model>) => Promise<IResult<Model>>;
}
