import { InMemoryArtifactService } from "@iqai/adk";
import { SessionsService } from "../sessions/sessions.service";
export interface ArtifactKey {
    filename: string;
}
export interface ArtifactVersion {
    version: number;
    timestamp: number;
}
export interface Artifact {
    filename: string;
    mimeType: string;
    contents: string | Uint8Array;
    version: number;
    timestamp: number;
}
export declare class ArtifactsService {
    private readonly sessionsService;
    private readonly artifactService;
    private logger;
    constructor(sessionsService: SessionsService, artifactService: InMemoryArtifactService);
    /**
     * List all artifacts for a session
     */
    listArtifacts(agentPath: string, sessionId: string): Promise<{
        artifacts: ArtifactKey[];
    } | {
        error: string;
    }>;
    /**
     * Get an artifact (latest version)
     */
    getArtifact(agentPath: string, sessionId: string, artifactName: string): Promise<Artifact | {
        error: string;
    }>;
    /**
     * Get a specific version of an artifact
     */
    getArtifactVersion(agentPath: string, sessionId: string, artifactName: string, version: number): Promise<Artifact | {
        error: string;
    }>;
    /**
     * List all versions of an artifact
     */
    listArtifactVersions(agentPath: string, sessionId: string, artifactName: string): Promise<{
        versions: ArtifactVersion[];
    } | {
        error: string;
    }>;
    /**
     * Delete an artifact and all its versions
     */
    deleteArtifact(agentPath: string, sessionId: string, artifactName: string): Promise<{
        success: boolean;
    } | {
        error: string;
    }>;
    /**
     * Helper method to construct userId from agent path
     */
    private getUserIdFromAgentPath;
}
//# sourceMappingURL=artifacts.service.d.ts.map