export interface ResolveIORunnerEvidenceAttachment {
    filename: string;
    path: string;
    contentType?: string;
    cid?: string;
    caption?: string;
    file_id?: string;
    key?: string;
    content_hash?: string;
    ticket_url?: string;
    uploaded_to_support_ticket?: boolean;
    upload_error?: string;
}
export interface ResolveIORunnerPersistedEvidenceFile {
    file_id: string;
    filename: string;
    key?: string;
    contentType?: string;
    caption?: string;
    content_hash?: string;
    ticket_url?: string;
}
export interface ResolveIORunnerEvidenceUploadInput {
    filename: string;
    filePath: string;
    contentType: string;
    size: number;
    contentBuffer: Buffer;
    contentHash: string;
}
export interface ResolveIORunnerEvidenceUploadResult {
    file_id?: string;
    id_file?: string;
    _id?: string;
    key?: string;
    name?: string;
    filename?: string;
}
export interface ResolveIORunnerPersistEvidenceOptions {
    attachments?: ResolveIORunnerEvidenceAttachment[];
    evidence?: any;
    job?: any;
    ticket?: any;
    ticketUrl?: string;
    roots?: string[];
    previousFiles?: any[];
    existingFileIds?: any[];
    maxFiles?: number;
    uploadFile: any;
}
export interface ResolveIORunnerPersistEvidenceResult {
    attachments: ResolveIORunnerEvidenceAttachment[];
    fileIds: string[];
    files: ResolveIORunnerPersistedEvidenceFile[];
    errors: string[];
}
export interface ResolveIORunnerEvidenceArtifactRootScanInput {
    roots?: string[];
    artifactDirNames?: string[];
    maxFiles?: number;
    includeJson?: boolean;
}
export declare function inferResolveIORunnerEvidenceContentType(fileName: string): string;
export declare function buildResolveIORunnerEvidenceCid(filePath: string): string;
export declare function inferResolveIORunnerEvidenceCaption(fileNameOrPath: string): string;
export declare function normalizeResolveIORunnerPersistedEvidenceFiles(value: any): ResolveIORunnerPersistedEvidenceFile[];
export declare function mergeResolveIORunnerEvidenceFileIds(...values: any[]): string[];
export declare function collectResolveIORunnerEvidenceArtifactFilesFromRoots(input?: ResolveIORunnerEvidenceArtifactRootScanInput): string[];
export declare function toResolveIORunnerEvidenceAttachmentsFromRoots(input?: ResolveIORunnerEvidenceArtifactRootScanInput): ResolveIORunnerEvidenceAttachment[];
export declare function collectResolveIORunnerEvidenceArtifactPaths(input?: {
    evidence?: any;
    job?: any;
    roots?: string[];
    maxFiles?: number;
}): string[];
export declare function toResolveIORunnerEvidenceAttachments(input?: {
    evidence?: any;
    job?: any;
    roots?: string[];
    maxFiles?: number;
}): ResolveIORunnerEvidenceAttachment[];
export declare function persistResolveIORunnerEvidenceArtifacts(options: ResolveIORunnerPersistEvidenceOptions): Promise<ResolveIORunnerPersistEvidenceResult>;
