import { PolymorphicMessage, ChatBroker, Message, Params as ChatBrokerParams, ChatBrokerHooks, RequestContext } from './broker/chat.js';
import { ChatBrokerPlugin } from './core/plugin.js';
import * as z from 'zod';
type IO = any;
export declare class CtoD
, PS extends Record>> {
params: {
request: (messages: Message[], context: RequestContext) => Promise;
plugins?: () => PS;
};
constructor(params: {
request: (messages: Message[], context: RequestContext) => Promise;
plugins?: () => PS;
});
createBrokerBuilder>(params?: {
install?: ChatBrokerParams<() => I, IO, ChatBrokerHooks<() => I, IO, P, PS>, P, PS>['install'];
}): {
create: >(install: (context: {
id: string;
zod: typeof z;
data: I;
plugins: { [K in keyof PS]: {
send: (data: PS[K]["__receiveData"]) => void;
}; };
setMessages: (messages: (Omit & {
content?: string | string[];
} & {
contents?: PolymorphicMessage[];
})[]) => void;
metadata: Map;
}) => Promise) => ChatBroker<() => I, () => O, P, PS, ChatBrokerHooks<() => I, () => O, P, PS>>;
};
}
export {};