import type { WorkItem } from '../../../domain/generated/output.js';
import type { IIntakeItemRepository } from '../../ports/output/repositories/intake-item-repository.interface.js';
import type { IPmProjectRepository } from '../../ports/output/repositories/pm-project-repository.interface.js';
import type { IWorkItemRepository } from '../../ports/output/repositories/work-item-repository.interface.js';
import type { IWorkItemStateRepository } from '../../ports/output/repositories/work-item-state-repository.interface.js';
import type { IActivityLogRepository } from '../../ports/output/repositories/activity-log-repository.interface.js';
export interface AcceptIntakeItemInput {
    intakeItemId: string;
    stateId?: string;
    priority?: string;
}
export type AcceptIntakeItemResult = {
    ok: true;
    workItem: WorkItem;
} | {
    ok: false;
    error: string;
};
export declare class AcceptIntakeItemUseCase {
    private readonly intakeRepo;
    private readonly projectRepo;
    private readonly workItemRepo;
    private readonly stateRepo;
    private readonly activityRepo;
    constructor(intakeRepo: IIntakeItemRepository, projectRepo: IPmProjectRepository, workItemRepo: IWorkItemRepository, stateRepo: IWorkItemStateRepository, activityRepo: IActivityLogRepository);
    execute(input: AcceptIntakeItemInput): Promise<AcceptIntakeItemResult>;
}
//# sourceMappingURL=accept-intake-item.use-case.d.ts.map