import type { Artifact, Part, FileWithBytes, FileWithUri, FilePart, DataPart, TextPart } from "../types/types.js";
declare class ArtifactHandler {
    private artifact;
    constructor(base?: Partial<Artifact> | Artifact);
    withId(artifactId: string): ArtifactHandler;
    withName(name: string): ArtifactHandler;
    withDescription(description: string): ArtifactHandler;
    withParts(parts: Part[]): ArtifactHandler;
    addParts(parts: Part[]): ArtifactHandler;
    clearParts(): ArtifactHandler;
    withMetadata(metadata: Record<string, any>): ArtifactHandler;
    getArtifact(): Artifact;
    getParts(): Part[];
    getTextParts(): Array<TextPart>;
    getText(): string;
    getFileParts(): Array<FilePart>;
    getFiles(): Array<FileWithBytes | FileWithUri>;
    getDataParts(): Array<DataPart>;
    getData(): Array<Record<string, any>>;
    static fromText(text: string, metadata?: Record<string, any>): ArtifactHandler;
    static fromFile(file: FileWithBytes | FileWithUri, metadata?: Record<string, any>): ArtifactHandler;
    static fromData(data: any, metadata?: Record<string, any>): ArtifactHandler;
}
export { ArtifactHandler };
