import type { PmAttachment } from '../../../domain/generated/output.js';
import type { IPmAttachmentRepository } from '../../ports/output/repositories/pm-attachment-repository.interface.js';
import type { IWorkItemRepository } from '../../ports/output/repositories/work-item-repository.interface.js';
export type UploadAttachmentResult = {
    ok: true;
    attachment: PmAttachment;
} | {
    ok: false;
    error: string;
};
export declare class UploadAttachmentUseCase {
    private readonly attachmentRepo;
    private readonly workItemRepo;
    constructor(attachmentRepo: IPmAttachmentRepository, workItemRepo: IWorkItemRepository);
    execute(input: {
        workItemId: string;
        filename: string;
        mimeType: string;
        fileSize: number;
        storagePath: string;
    }): Promise<UploadAttachmentResult>;
}
//# sourceMappingURL=upload-attachment.use-case.d.ts.map