import type { PmProject } from '../../../domain/generated/output.js';
import type { IPmProjectRepository } from '../../ports/output/repositories/pm-project-repository.interface.js';
import type { IWorkItemStateRepository } from '../../ports/output/repositories/work-item-state-repository.interface.js';
export interface CreatePmProjectInput {
    name: string;
    description?: string;
    identifierPrefix: string;
    estimateType?: string;
    applicationId?: string;
}
export type CreatePmProjectResult = {
    ok: true;
    project: PmProject;
} | {
    ok: false;
    error: string;
};
export declare class CreatePmProjectUseCase {
    private readonly projectRepo;
    private readonly stateRepo;
    constructor(projectRepo: IPmProjectRepository, stateRepo: IWorkItemStateRepository);
    execute(input: CreatePmProjectInput): Promise<CreatePmProjectResult>;
}
//# sourceMappingURL=create-pm-project.use-case.d.ts.map