import type { WorkItemState } from '../../../domain/generated/output.js';
import type { IWorkItemStateRepository } from '../../ports/output/repositories/work-item-state-repository.interface.js';
export interface CreateWorkItemStateInput {
    projectId: string;
    name: string;
    color: string;
    stateGroup: string;
    displayOrder?: number;
    isDefault?: boolean;
}
export type ManageWorkItemStateResult = {
    ok: true;
    state?: WorkItemState;
    states?: WorkItemState[];
} | {
    ok: false;
    error: string;
};
export declare class ManageWorkItemStatesUseCase {
    private readonly stateRepo;
    constructor(stateRepo: IWorkItemStateRepository);
    list(projectId: string): Promise<WorkItemState[]>;
    create(input: CreateWorkItemStateInput): Promise<ManageWorkItemStateResult>;
    update(stateId: string, fields: Partial<Pick<WorkItemState, 'name' | 'color' | 'displayOrder' | 'stateGroup' | 'isDefault'>>): Promise<ManageWorkItemStateResult>;
    delete(stateId: string): Promise<ManageWorkItemStateResult>;
    reorder(states: {
        id: string;
        displayOrder: number;
    }[]): Promise<ManageWorkItemStateResult>;
}
//# sourceMappingURL=manage-work-item-states.use-case.d.ts.map