export const ContractItemType = { UST: 'UST', SAAS_LICENSE: 'SAAS_LICENSE', } as const; export type ContractItemType = (typeof ContractItemType)[keyof typeof ContractItemType]; export interface ContractItemListItem { id: string; code: string; name: string; description: string | null; itemType: ContractItemType; totalUst: number; ustValue: number | null; timeboxDescoberta: number | null; timeboxDesign: number | null; timeboxArquitetura: number | null; timeboxConstrucao: number | null; isActive: boolean; createdAt: string; updatedAt: string; client: { id: string; name: string; }; } export interface ContractItemsListResponse { data: ContractItemListItem[]; total: number; page: number; limit: number; } export interface ContractItemFilters { search?: string; isActive?: string; itemType?: ContractItemType; page: number; limit: number; } export interface ContractItemActiveItem { id: string; code: string; name: string; itemType: ContractItemType; totalUst: number; ustValue: number | null; timeboxDescoberta: number | null; timeboxDesign: number | null; timeboxArquitetura: number | null; timeboxConstrucao: number | null; } export interface CreateContractItemRequest { code: string; name: string; description?: string; itemType: ContractItemType; totalUst: number; ustValue?: number; timeboxDescoberta?: number; timeboxDesign?: number; timeboxArquitetura?: number; timeboxConstrucao?: number; } export interface UpdateContractItemRequest extends Partial { isActive?: boolean; }