import { Message, MessageRole, Part, Task, FileWithBytes, FileWithUri, FilePart, TextPart, DataPart } from "../types/types.ts";
/**
 * Helper class to create, modify or parse messages
 */
declare class MessageHandler {
    private message;
    constructor(baseMessage?: Partial<Message>);
    withId(messageId: string): MessageHandler;
    withRole(role: MessageRole): MessageHandler;
    inResponseTo(source: Task | Message): MessageHandler;
    withContextId(contextId: string): MessageHandler;
    withParts(parts: Part[]): MessageHandler;
    addParts(parts: Part[]): MessageHandler;
    addTextPart(text: string, metadata?: Record<string, any>): MessageHandler;
    addFilePart(file: FileWithBytes | FileWithUri, metadata?: Record<string, any>): MessageHandler;
    addDataPart(data: any, metadata?: Record<string, any>): MessageHandler;
    clearParts(): MessageHandler;
    withMetadata(metadata: Record<string, any>): MessageHandler;
    getMessage(): Message;
    getTextParts(): TextPart[];
    getText(): string;
    getFileParts(): FilePart[];
    getFiles(): Array<FileWithBytes | FileWithUri>;
    getDataParts(): DataPart[];
    getData(): Record<string, any>[];
}
export { MessageHandler };
