import { SortOrder } from '@msfa-enums/sort-order.enum';
import { DeltagareCompact } from '@msfa-models/deltagare.model';
import { EmployeeCompactResponse } from './employee.response.model';
import { MultiselectFilterOption } from '@ui/multiselect/multiselect-filter-option';

export interface Params {
  [param: string]: string | string[];
}

export interface PaginationParams {
  page: number;
  limit: number;
}

export interface SortParams {
  sort: string;
  order: SortOrder;
}

export interface FilterParams {
  search?: string;
}

export interface DeltagareParams extends PaginationParams, SortParams {
  sort: keyof DeltagareCompact;
  onlyMyDeltagare: boolean;
}

export interface EmployeeParams extends PaginationParams, SortParams, FilterParams {
  sort: keyof EmployeeCompactResponse;
  onlyEmployeesWithoutAuthorization: boolean;
}

export interface AvropParams extends PaginationParams {
  filteredTjanster: MultiselectFilterOption[];
  filteredUtforandeVerksamheter: MultiselectFilterOption[];
  filteredKommuner: MultiselectFilterOption[];
}
