// types/plantypes.ts
export interface Plan {
  createdAt: string;
  updatedAt: string;
  tenantId: string;
  amharicCreatedAt: string;
  amharicUpdatedAt: string;
  id: string;
  name: {
    am: string;
    en: string;
  };
  description: {
    am: string;
    en: string;
  };
  planYearId: string;
  // initialGoal?: number;
  // expectedGoal?: number;
  weight: number;
  month: number;
  week: number;
  day: number;
  quarter: number;
  timeframe: number;
  positionId: string;
  unitId: string;
  parentPlanId?: string;
  planType?: string;
  planFor?: string;
}

export enum BillingCycle {
  MONTHLY = "MONTHLY",
  QUARTERLY = "QUARTERLY",
  ANNUALLY = "ANNUALLY",
  ONE_TIME = "ONE_TIME",
}

export enum PlanStatus {
  DRAFT = "DRAFT",
  ACTIVE = "ACTIVE",
  ARCHIVED = "ARCHIVED",
  COMING_SOON = "COMING_SOON",
}

export enum SupportLevel {
  BASIC = "BASIC",
  PRIORITY = "PRIORITY",
  PREMIUM = "PREMIUM",
  DEDICATED = "DEDICATED",
}

export enum CancellationPolicy {
  ANYTIME = "ANYTIME",
  THIRTY_DAYS = "THIRTY_DAYS",
  END_OF_TERM = "END_OF_TERM",
}

export interface SectorList {
  position_created_at: string;
  position_updated_at: string;
  position_id: string;
  position_name: {
    am: string;
    en: string;
  };
  position_key: string;
  position_rank: number;
  position_parent_position_id: string;
  position_unit_id: string;
  position_organization_id: string;
  position_project_id: string | null;
  position_position_type_id: string;
  no_of_plans: number;
  total_weight: number | null;
  planTeam_name?: {
    am: string;
    en: string;
  };
  planTeam_description?: {
    am: string;
    en: string;
  };
  id?: string;
  planTeam_id?: string;
  positionId?: string;
  planTeam_position_id?:string;
}

export interface SectorListResponse {
  count: number;
  items: SectorList[];
}

export interface SectorListParam {
  positonId?: string;
  organizationId?: string;
  parentPlanId?: string;
  take?: number;
  skip?: number;
  orderBy?: string;
  planYearId?: string;
}
