/**
 * Copyright 2025 The Artinet Project
 * SPDX-License-Identifier: Apache-2.0
 */
import { A2A } from "../types/index.js";
export declare class TextPart {
    private readonly _part;
    constructor(params: string);
    get part(): A2A.TextPart;
    static create(params: string): A2A.TextPart;
}
export type FileParams = (Partial<A2A.File> & {
    bytes: string;
}) | (Partial<A2A.File> & {
    uri: string;
});
export type FilePartParams = string | FileParams;
export declare class FilePart {
    private readonly _part;
    constructor(params: FileParams);
    get part(): A2A.FilePart;
    static create(params: FilePartParams): A2A.FilePart;
}
export declare const filePart: typeof FilePart.create;
export declare class DataPart {
    private readonly _part;
    constructor(params: Record<string, unknown>);
    get part(): A2A.DataPart;
    static create(params: Record<string, unknown>): A2A.DataPart;
}
/**
 * Namespace for {@link A2A.Part} creation utilities.
 *
 * @example
 * ```typescript
 * const t = part.text("Hello");
 * const f = part.file("https://example.com/file.pdf");
 * const d = part.data({ key: "value" });
 * ```
 *
 * @public
 * @since 0.6.0
 */
export declare const part: {
    /**
     * Create a text part.
     * @see {@link A2A.TextPart}
     */
    text: typeof TextPart.create;
    /**
     * Create a file part.
     * @see {@link A2A.FilePart}
     */
    file: typeof FilePart.create;
    /**
     * Create a data part.
     * @see {@link A2A.DataPart}
     */
    data: typeof DataPart.create;
};
