export interface FullResponse<T, U extends number> {
  'statusCode': U;
  'headers': object;
  'body': T;
}

export type PostV1ProjectsRequest = {
  'x-token'?: string;
  'x-timezone'?: string;
  'project': { 'name': string; 'description'?: unknown; 'company_id': number; 'department_id'?: unknown; 'location_id'?: unknown; 'project_type'?: unknown; 'priority'?: unknown; 'status': 'Planning' | 'Active' | 'On Hold' | 'Completed' | 'Cancelled'; 'start_date'?: unknown; 'end_date'?: unknown; 'actual_start_date'?: unknown; 'actual_end_date'?: unknown; 'project_manager_id'?: unknown; 'estimated_budget'?: unknown; 'actual_cost'?: unknown; 'currency_id'?: unknown; 'progress_percentage'?: unknown; 'client_id'?: unknown; 'is_billable'?: unknown; 'is_active'?: unknown; 'notes'?: unknown };
}

export type PostV1ProjectsResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': object;
}
export type PostV1ProjectsResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1ProjectsResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1ProjectsResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1ProjectsResponses =
  PostV1ProjectsResponseOK
  | PostV1ProjectsResponseBadRequest
  | PostV1ProjectsResponseNotFound
  | PostV1ProjectsResponseInternalServerError

export type GetV1ProjectsRequest = {
  'skip'?: number;
  'limit'?: number;
  'order'?: string;
  'filters'?: string;
  'search'?: string;
  'select'?: string;
  'x-token'?: string;
  'x-timezone'?: string;
}

export type GetV1ProjectsResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': object;
}
export type GetV1ProjectsResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1ProjectsResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1ProjectsResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1ProjectsResponses =
  GetV1ProjectsResponseOK
  | GetV1ProjectsResponseBadRequest
  | GetV1ProjectsResponseNotFound
  | GetV1ProjectsResponseInternalServerError

export type GetV1ProjectsIdRequest = {
  'skip'?: number;
  'limit'?: number;
  'order'?: string;
  'filters'?: string;
  'search'?: string;
  'select'?: string;
  'x-token'?: string;
  'x-timezone'?: string;
  'id': string;
}

export type GetV1ProjectsIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': object;
}
export type GetV1ProjectsIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1ProjectsIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1ProjectsIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1ProjectsIdResponses =
  GetV1ProjectsIdResponseOK
  | GetV1ProjectsIdResponseBadRequest
  | GetV1ProjectsIdResponseNotFound
  | GetV1ProjectsIdResponseInternalServerError

export type PutV1ProjectsIdRequest = {
  'x-token'?: string;
  'x-timezone'?: string;
  'id': string;
  'project': { 'name'?: string | null; 'description'?: unknown; 'company_id'?: number | null; 'department_id'?: unknown; 'location_id'?: unknown; 'project_type'?: unknown; 'priority'?: unknown; 'status'?: unknown; 'start_date'?: unknown; 'end_date'?: unknown; 'actual_start_date'?: unknown; 'actual_end_date'?: unknown; 'project_manager_id'?: unknown; 'estimated_budget'?: unknown; 'actual_cost'?: unknown; 'currency_id'?: unknown; 'progress_percentage'?: unknown; 'client_id'?: unknown; 'is_billable'?: unknown; 'is_active'?: unknown; 'notes'?: unknown };
}

export type PutV1ProjectsIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': object;
}
export type PutV1ProjectsIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1ProjectsIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1ProjectsIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1ProjectsIdResponses =
  PutV1ProjectsIdResponseOK
  | PutV1ProjectsIdResponseBadRequest
  | PutV1ProjectsIdResponseNotFound
  | PutV1ProjectsIdResponseInternalServerError

export type DeleteV1ProjectsIdRequest = {
  'x-token'?: string;
  'x-timezone'?: string;
  'id': string;
}

export type DeleteV1ProjectsIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': object;
}
export type DeleteV1ProjectsIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1ProjectsIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1ProjectsIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1ProjectsIdResponses =
  DeleteV1ProjectsIdResponseOK
  | DeleteV1ProjectsIdResponseBadRequest
  | DeleteV1ProjectsIdResponseNotFound
  | DeleteV1ProjectsIdResponseInternalServerError

export type PostV1TasksRequest = {
  'x-token'?: string;
  'x-timezone'?: string;
  'task': { 'name': string; 'description'?: unknown; 'project_id': number; 'parent_task_id'?: unknown; 'task_type'?: unknown; 'priority'?: unknown; 'status': 'Not Started' | 'In Progress' | 'Review' | 'Testing' | 'Completed' | 'Blocked' | 'Cancelled'; 'start_date'?: unknown; 'due_date'?: unknown; 'actual_start_date'?: unknown; 'actual_end_date'?: unknown; 'assigned_to'?: unknown; 'estimated_hours'?: unknown; 'actual_hours'?: unknown; 'progress_percentage'?: unknown; 'is_milestone'?: unknown; 'is_billable'?: unknown; 'tags'?: unknown; 'notes'?: unknown };
}

export type PostV1TasksResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': object;
}
export type PostV1TasksResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1TasksResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1TasksResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1TasksResponses =
  PostV1TasksResponseOK
  | PostV1TasksResponseBadRequest
  | PostV1TasksResponseNotFound
  | PostV1TasksResponseInternalServerError

export type GetV1TasksRequest = {
  'skip'?: number;
  'limit'?: number;
  'order'?: string;
  'filters'?: string;
  'search'?: string;
  'select'?: string;
  'x-token'?: string;
  'x-timezone'?: string;
}

export type GetV1TasksResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': object;
}
export type GetV1TasksResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1TasksResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1TasksResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1TasksResponses =
  GetV1TasksResponseOK
  | GetV1TasksResponseBadRequest
  | GetV1TasksResponseNotFound
  | GetV1TasksResponseInternalServerError

export type GetV1TasksIdRequest = {
  'skip'?: number;
  'limit'?: number;
  'order'?: string;
  'filters'?: string;
  'search'?: string;
  'select'?: string;
  'x-token'?: string;
  'x-timezone'?: string;
  'id': string;
}

export type GetV1TasksIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': object;
}
export type GetV1TasksIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1TasksIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1TasksIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1TasksIdResponses =
  GetV1TasksIdResponseOK
  | GetV1TasksIdResponseBadRequest
  | GetV1TasksIdResponseNotFound
  | GetV1TasksIdResponseInternalServerError

export type PutV1TasksIdRequest = {
  'x-token'?: string;
  'x-timezone'?: string;
  'id': string;
  'task': { 'name'?: string | null; 'description'?: unknown; 'project_id'?: number | null; 'parent_task_id'?: unknown; 'task_type'?: unknown; 'priority'?: unknown; 'status'?: unknown; 'start_date'?: unknown; 'due_date'?: unknown; 'actual_start_date'?: unknown; 'actual_end_date'?: unknown; 'assigned_to'?: unknown; 'estimated_hours'?: unknown; 'actual_hours'?: unknown; 'progress_percentage'?: unknown; 'is_milestone'?: unknown; 'is_billable'?: unknown; 'tags'?: unknown; 'notes'?: unknown };
}

export type PutV1TasksIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': object;
}
export type PutV1TasksIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1TasksIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1TasksIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1TasksIdResponses =
  PutV1TasksIdResponseOK
  | PutV1TasksIdResponseBadRequest
  | PutV1TasksIdResponseNotFound
  | PutV1TasksIdResponseInternalServerError

export type DeleteV1TasksIdRequest = {
  'x-token'?: string;
  'x-timezone'?: string;
  'id': string;
}

export type DeleteV1TasksIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': object;
}
export type DeleteV1TasksIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1TasksIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1TasksIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1TasksIdResponses =
  DeleteV1TasksIdResponseOK
  | DeleteV1TasksIdResponseBadRequest
  | DeleteV1TasksIdResponseNotFound
  | DeleteV1TasksIdResponseInternalServerError

export type PostV1CostCodesRequest = {
  'x-token'?: string;
  'x-timezone'?: string;
  'cost_code': { 'name': string; 'description'?: unknown };
}

export type PostV1CostCodesResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': object;
}
export type PostV1CostCodesResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1CostCodesResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1CostCodesResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1CostCodesResponses =
  PostV1CostCodesResponseOK
  | PostV1CostCodesResponseBadRequest
  | PostV1CostCodesResponseNotFound
  | PostV1CostCodesResponseInternalServerError

export type GetV1CostCodesRequest = {
  'skip'?: number;
  'limit'?: number;
  'order'?: string;
  'filters'?: string;
  'search'?: string;
  'select'?: string;
  'x-token'?: string;
  'x-timezone'?: string;
}

export type GetV1CostCodesResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': object;
}
export type GetV1CostCodesResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1CostCodesResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1CostCodesResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1CostCodesResponses =
  GetV1CostCodesResponseOK
  | GetV1CostCodesResponseBadRequest
  | GetV1CostCodesResponseNotFound
  | GetV1CostCodesResponseInternalServerError

export type GetV1CostCodesIdRequest = {
  'skip'?: number;
  'limit'?: number;
  'order'?: string;
  'filters'?: string;
  'search'?: string;
  'select'?: string;
  'x-token'?: string;
  'x-timezone'?: string;
  'id': string;
}

export type GetV1CostCodesIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': object;
}
export type GetV1CostCodesIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1CostCodesIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1CostCodesIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1CostCodesIdResponses =
  GetV1CostCodesIdResponseOK
  | GetV1CostCodesIdResponseBadRequest
  | GetV1CostCodesIdResponseNotFound
  | GetV1CostCodesIdResponseInternalServerError

export type PutV1CostCodesIdRequest = {
  'x-token'?: string;
  'x-timezone'?: string;
  'id': string;
  'cost_code': { 'name': string; 'description'?: unknown };
}

export type PutV1CostCodesIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': object;
}
export type PutV1CostCodesIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1CostCodesIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1CostCodesIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1CostCodesIdResponses =
  PutV1CostCodesIdResponseOK
  | PutV1CostCodesIdResponseBadRequest
  | PutV1CostCodesIdResponseNotFound
  | PutV1CostCodesIdResponseInternalServerError

export type DeleteV1CostCodesIdRequest = {
  'x-token'?: string;
  'x-timezone'?: string;
  'id': string;
}

export type DeleteV1CostCodesIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': object;
}
export type DeleteV1CostCodesIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1CostCodesIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1CostCodesIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1CostCodesIdResponses =
  DeleteV1CostCodesIdResponseOK
  | DeleteV1CostCodesIdResponseBadRequest
  | DeleteV1CostCodesIdResponseNotFound
  | DeleteV1CostCodesIdResponseInternalServerError

export type PostV1CostElementsRequest = {
  'x-token'?: string;
  'x-timezone'?: string;
  'cost_element': { 'name': string; 'description'?: unknown };
}

export type PostV1CostElementsResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': object;
}
export type PostV1CostElementsResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1CostElementsResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1CostElementsResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1CostElementsResponses =
  PostV1CostElementsResponseOK
  | PostV1CostElementsResponseBadRequest
  | PostV1CostElementsResponseNotFound
  | PostV1CostElementsResponseInternalServerError

export type GetV1CostElementsRequest = {
  'skip'?: number;
  'limit'?: number;
  'order'?: string;
  'filters'?: string;
  'search'?: string;
  'select'?: string;
  'x-token'?: string;
  'x-timezone'?: string;
}

export type GetV1CostElementsResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': object;
}
export type GetV1CostElementsResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1CostElementsResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1CostElementsResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1CostElementsResponses =
  GetV1CostElementsResponseOK
  | GetV1CostElementsResponseBadRequest
  | GetV1CostElementsResponseNotFound
  | GetV1CostElementsResponseInternalServerError

export type GetV1CostElementsIdRequest = {
  'skip'?: number;
  'limit'?: number;
  'order'?: string;
  'filters'?: string;
  'search'?: string;
  'select'?: string;
  'x-token'?: string;
  'x-timezone'?: string;
  'id': string;
}

export type GetV1CostElementsIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': object;
}
export type GetV1CostElementsIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1CostElementsIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1CostElementsIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1CostElementsIdResponses =
  GetV1CostElementsIdResponseOK
  | GetV1CostElementsIdResponseBadRequest
  | GetV1CostElementsIdResponseNotFound
  | GetV1CostElementsIdResponseInternalServerError

export type PutV1CostElementsIdRequest = {
  'x-token'?: string;
  'x-timezone'?: string;
  'id': string;
  'cost_element': { 'name': string; 'description'?: unknown };
}

export type PutV1CostElementsIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': object;
}
export type PutV1CostElementsIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1CostElementsIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1CostElementsIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1CostElementsIdResponses =
  PutV1CostElementsIdResponseOK
  | PutV1CostElementsIdResponseBadRequest
  | PutV1CostElementsIdResponseNotFound
  | PutV1CostElementsIdResponseInternalServerError

export type DeleteV1CostElementsIdRequest = {
  'x-token'?: string;
  'x-timezone'?: string;
  'id': string;
}

export type DeleteV1CostElementsIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': object;
}
export type DeleteV1CostElementsIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1CostElementsIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1CostElementsIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1CostElementsIdResponses =
  DeleteV1CostElementsIdResponseOK
  | DeleteV1CostElementsIdResponseBadRequest
  | DeleteV1CostElementsIdResponseNotFound
  | DeleteV1CostElementsIdResponseInternalServerError



export interface Api {
  setBaseUrl(newUrl: string) : void;
  setDefaultHeaders(headers: Object) : void;
  postV1Projects(req?: PostV1ProjectsRequest): Promise<PostV1ProjectsResponses>;
  getV1Projects(req?: GetV1ProjectsRequest): Promise<GetV1ProjectsResponses>;
  getV1ProjectsId(req?: GetV1ProjectsIdRequest): Promise<GetV1ProjectsIdResponses>;
  putV1ProjectsId(req?: PutV1ProjectsIdRequest): Promise<PutV1ProjectsIdResponses>;
  deleteV1ProjectsId(req?: DeleteV1ProjectsIdRequest): Promise<DeleteV1ProjectsIdResponses>;
  postV1Tasks(req?: PostV1TasksRequest): Promise<PostV1TasksResponses>;
  getV1Tasks(req?: GetV1TasksRequest): Promise<GetV1TasksResponses>;
  getV1TasksId(req?: GetV1TasksIdRequest): Promise<GetV1TasksIdResponses>;
  putV1TasksId(req?: PutV1TasksIdRequest): Promise<PutV1TasksIdResponses>;
  deleteV1TasksId(req?: DeleteV1TasksIdRequest): Promise<DeleteV1TasksIdResponses>;
  postV1CostCodes(req?: PostV1CostCodesRequest): Promise<PostV1CostCodesResponses>;
  getV1CostCodes(req?: GetV1CostCodesRequest): Promise<GetV1CostCodesResponses>;
  getV1CostCodesId(req?: GetV1CostCodesIdRequest): Promise<GetV1CostCodesIdResponses>;
  putV1CostCodesId(req?: PutV1CostCodesIdRequest): Promise<PutV1CostCodesIdResponses>;
  deleteV1CostCodesId(req?: DeleteV1CostCodesIdRequest): Promise<DeleteV1CostCodesIdResponses>;
  postV1CostElements(req?: PostV1CostElementsRequest): Promise<PostV1CostElementsResponses>;
  getV1CostElements(req?: GetV1CostElementsRequest): Promise<GetV1CostElementsResponses>;
  getV1CostElementsId(req?: GetV1CostElementsIdRequest): Promise<GetV1CostElementsIdResponses>;
  putV1CostElementsId(req?: PutV1CostElementsIdRequest): Promise<PutV1CostElementsIdResponses>;
  deleteV1CostElementsId(req?: DeleteV1CostElementsIdRequest): Promise<DeleteV1CostElementsIdResponses>;
}
type PlatformaticFrontendClient = Omit<Api, 'setBaseUrl'>
type BuildOptions = {
  headers?: Object
}
export default function build(url: string, options?: BuildOptions): PlatformaticFrontendClient
