/**
 * Copyright 2025 The Artinet Project
 * SPDX-License-Identifier: Apache-2.0
 */
import { A2A } from "../types/index.js";
import { Kindless } from "./base.js";
export declare class Message {
    private readonly _message;
    constructor(params?: Partial<Kindless<A2A.Message>>);
    get message(): A2A.Message;
    static create(params?: MessageParams): A2A.Message;
}
export type BaseMessageParams = Partial<Kindless<A2A.Message>>;
export type MessageParams = BaseMessageParams | string;
export declare const isMessageParams: (params: any) => params is MessageParams;
/**
 * Convenience factory function for creating a message builder with default parameters.
 *
 * @returns New {@link A2A.Message} with default parameters
 * @defaults {
 *   role: "agent",
 *   parts: [],
 *   messageId: uuidv4(),
 *   kind: "message",
 * }
 * @example
 * ```typescript
 * const message = message();
 * ```
 *
 * @public
 * @since 0.6.0
 */
export declare const message: typeof Message.create;
/**
 * @deprecated Use {@link message} instead.
 * @since 0.6.0
 */
export declare const MessageBuilder: typeof Message;
export declare class MessageSendConfiguration {
    private readonly _configuration;
    constructor(params?: Partial<A2A.MessageSendConfiguration> | null | undefined);
    get configuration(): A2A.MessageSendConfiguration;
}
/**
 * @deprecated Use {@link messageSendParams} instead.
 * @since 0.6.0
 */
export declare const MessageSendConfigurationBuilder: typeof MessageSendConfiguration;
export type MessageSendParamsParams = Partial<Kindless<A2A.MessageSendParams>> | MessageParams;
/**
 * Convenience factory function for creating a message send params with default parameters.
 *
 * @returns New {@link A2A.MessageSendParams} with default parameters
 * @defaults {
 *   message: {
 *     role: "user",
 *     parts: [],
 *     messageId: uuidv4(),
 *     kind: "message",
 *   },
 *   configuration: undefined,
 *   metadata: undefined,
 * }
 * @example
 * ```typescript
 * const params = messageSendParams("hello there");
 * ```
 *
 * @public
 * @since 0.6.0
 */
export declare function messageSendParams(params: MessageSendParamsParams): A2A.MessageSendParams;
/**
 * @deprecated Use {@link messageSendParams} instead.
 * @since 0.6.0
 */
export declare const createMessageSendParams: typeof messageSendParams;
