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

export type PostV1PermissionRequest = {
  'x-token'?: string;
  'x-timezone'?: string;
  'role_id': string;
  'resource_id': string;
  'policy': object;
  'weight': number;
}

export type PostV1PermissionResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type PostV1PermissionResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1PermissionResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1PermissionResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1PermissionResponses =
  PostV1PermissionResponseOK
  | PostV1PermissionResponseBadRequest
  | PostV1PermissionResponseNotFound
  | PostV1PermissionResponseInternalServerError

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

export type GetV1PermissionResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type GetV1PermissionResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1PermissionResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1PermissionResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1PermissionResponses =
  GetV1PermissionResponseOK
  | GetV1PermissionResponseBadRequest
  | GetV1PermissionResponseNotFound
  | GetV1PermissionResponseInternalServerError

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

export type GetV1PermissionIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type GetV1PermissionIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1PermissionIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1PermissionIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1PermissionIdResponses =
  GetV1PermissionIdResponseOK
  | GetV1PermissionIdResponseBadRequest
  | GetV1PermissionIdResponseNotFound
  | GetV1PermissionIdResponseInternalServerError

export type PutV1PermissionIdRequest = {
  'id': string;
  'x-token'?: string;
  'x-timezone'?: string;
  'role_id': string;
  'resource_id': string;
  'policy': object;
  'weight': number;
}

export type PutV1PermissionIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type PutV1PermissionIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1PermissionIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1PermissionIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1PermissionIdResponses =
  PutV1PermissionIdResponseOK
  | PutV1PermissionIdResponseBadRequest
  | PutV1PermissionIdResponseNotFound
  | PutV1PermissionIdResponseInternalServerError

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

export type DeleteV1PermissionIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type DeleteV1PermissionIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1PermissionIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1PermissionIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1PermissionIdResponses =
  DeleteV1PermissionIdResponseOK
  | DeleteV1PermissionIdResponseBadRequest
  | DeleteV1PermissionIdResponseNotFound
  | DeleteV1PermissionIdResponseInternalServerError

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

export type GetV1PermissionRoleIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type GetV1PermissionRoleIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1PermissionRoleIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1PermissionRoleIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1PermissionRoleIdResponses =
  GetV1PermissionRoleIdResponseOK
  | GetV1PermissionRoleIdResponseBadRequest
  | GetV1PermissionRoleIdResponseNotFound
  | GetV1PermissionRoleIdResponseInternalServerError

export type PostV1ResourceRequest = {
  'x-token'?: string;
  'x-timezone'?: string;
  'name': string;
  'code': string;
  'method': string;
  'operation': string;
  'sort': number;
  'module': string;
}

export type PostV1ResourceResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type PostV1ResourceResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1ResourceResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1ResourceResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1ResourceResponses =
  PostV1ResourceResponseOK
  | PostV1ResourceResponseBadRequest
  | PostV1ResourceResponseNotFound
  | PostV1ResourceResponseInternalServerError

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

export type GetV1ResourceResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type GetV1ResourceResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1ResourceResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1ResourceResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1ResourceResponses =
  GetV1ResourceResponseOK
  | GetV1ResourceResponseBadRequest
  | GetV1ResourceResponseNotFound
  | GetV1ResourceResponseInternalServerError

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

export type GetV1ResourceIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type GetV1ResourceIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1ResourceIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1ResourceIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1ResourceIdResponses =
  GetV1ResourceIdResponseOK
  | GetV1ResourceIdResponseBadRequest
  | GetV1ResourceIdResponseNotFound
  | GetV1ResourceIdResponseInternalServerError

export type PutV1ResourceIdRequest = {
  'id': string;
  'x-token'?: string;
  'x-timezone'?: string;
  'name': string;
  'code': string;
  'method': string;
  'operation': string;
  'sort': number;
}

export type PutV1ResourceIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type PutV1ResourceIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1ResourceIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1ResourceIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1ResourceIdResponses =
  PutV1ResourceIdResponseOK
  | PutV1ResourceIdResponseBadRequest
  | PutV1ResourceIdResponseNotFound
  | PutV1ResourceIdResponseInternalServerError

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

export type DeleteV1ResourceIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type DeleteV1ResourceIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1ResourceIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1ResourceIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1ResourceIdResponses =
  DeleteV1ResourceIdResponseOK
  | DeleteV1ResourceIdResponseBadRequest
  | DeleteV1ResourceIdResponseNotFound
  | DeleteV1ResourceIdResponseInternalServerError

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

export type GetV1ResourceModulesResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type GetV1ResourceModulesResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1ResourceModulesResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1ResourceModulesResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1ResourceModulesResponses =
  GetV1ResourceModulesResponseOK
  | GetV1ResourceModulesResponseBadRequest
  | GetV1ResourceModulesResponseNotFound
  | GetV1ResourceModulesResponseInternalServerError

export type PostV1ResourceSubModulesRequest = {
  'x-token'?: string;
  'x-timezone'?: string;
  'name': string;
}

export type PostV1ResourceSubModulesResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type PostV1ResourceSubModulesResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1ResourceSubModulesResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1ResourceSubModulesResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1ResourceSubModulesResponses =
  PostV1ResourceSubModulesResponseOK
  | PostV1ResourceSubModulesResponseBadRequest
  | PostV1ResourceSubModulesResponseNotFound
  | PostV1ResourceSubModulesResponseInternalServerError

export type PostV1RoleRequest = {
  'x-token'?: string;
  'x-timezone'?: string;
  'name': string;
  'code': string;
  'type': 'Admin' | 'Executive' | 'Manager' | 'Support' | 'Operations';
  'description': string;
  'module_info'?: Array<{ 'module_name'?: string; 'sub_modules'?: Array<{ 'sub_module_name'?: string }> }>;
  'permissions'?: Array<{ 'resource_id'?: string }>;
  'sort'?: number;
}

export type PostV1RoleResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type PostV1RoleResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1RoleResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1RoleResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1RoleResponses =
  PostV1RoleResponseOK
  | PostV1RoleResponseBadRequest
  | PostV1RoleResponseNotFound
  | PostV1RoleResponseInternalServerError

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

export type GetV1RoleResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type GetV1RoleResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1RoleResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1RoleResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1RoleResponses =
  GetV1RoleResponseOK
  | GetV1RoleResponseBadRequest
  | GetV1RoleResponseNotFound
  | GetV1RoleResponseInternalServerError

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

export type GetV1RoleIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type GetV1RoleIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1RoleIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1RoleIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1RoleIdResponses =
  GetV1RoleIdResponseOK
  | GetV1RoleIdResponseBadRequest
  | GetV1RoleIdResponseNotFound
  | GetV1RoleIdResponseInternalServerError

export type PutV1RoleIdRequest = {
  'id': string;
  'x-token'?: string;
  'x-timezone'?: string;
  'name': string;
  'code': string;
  'type': 'Admin' | 'Executive' | 'Manager' | 'Support' | 'Operations';
  'description': string;
  'module_info': Array<{ 'module_name'?: string; 'sub_modules'?: Array<{ 'sub_module_name'?: string }> }>;
  'sort': number;
}

export type PutV1RoleIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type PutV1RoleIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1RoleIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1RoleIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1RoleIdResponses =
  PutV1RoleIdResponseOK
  | PutV1RoleIdResponseBadRequest
  | PutV1RoleIdResponseNotFound
  | PutV1RoleIdResponseInternalServerError

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

export type DeleteV1RoleIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type DeleteV1RoleIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1RoleIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1RoleIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1RoleIdResponses =
  DeleteV1RoleIdResponseOK
  | DeleteV1RoleIdResponseBadRequest
  | DeleteV1RoleIdResponseNotFound
  | DeleteV1RoleIdResponseInternalServerError

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

export type GetV1RoleUserIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type GetV1RoleUserIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1RoleUserIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1RoleUserIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1RoleUserIdResponses =
  GetV1RoleUserIdResponseOK
  | GetV1RoleUserIdResponseBadRequest
  | GetV1RoleUserIdResponseNotFound
  | GetV1RoleUserIdResponseInternalServerError

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

export type PostV1RoleUserIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type PostV1RoleUserIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1RoleUserIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1RoleUserIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1RoleUserIdResponses =
  PostV1RoleUserIdResponseOK
  | PostV1RoleUserIdResponseBadRequest
  | PostV1RoleUserIdResponseNotFound
  | PostV1RoleUserIdResponseInternalServerError

export type PostV1UserRequest = {
  'x-token'?: string;
  'x-timezone'?: string;
  'basic_details': { 'first_name': string; 'last_name': string; 'middle_name'?: string; 'country_code': string; 'phone': string; 'email': string; 'password': string; 'role_id': string; 'branch_id': number; 'location_id': number; 'department_id': number; 'profile_image': string; 'company_id'?: number };
  'time_based_access_details'?: { 'start_date'?: string | Date; 'end_date'?: string | Date; 'start_time': string; 'end_time': string; 'never_end'?: boolean; 'access_details': { 'type'?: 'not_repeated' | 'repeat_daily' | 'repeat_weekdays' | 'repeat_selected_weekdays' | 'repeat_monthly_selected_days' | 'repeat_yearly_selected_days'; 'repeat_daily'?: { 'interval_days': number }; 'repeat_selected_weekdays'?: { 'weekdays': Array<0 | 1 | 2 | 3 | 4 | 5 | 6> }; 'repeat_monthly_selected_days'?: object; 'repeat_yearly_selected_days'?: object } };
  'entity_access_details'?: { 'access_details'?: { 'company'?: Array<string>; 'branch'?: Array<string>; 'location'?: Array<string>; 'department'?: Array<string> }; 'selected_company'?: string };
}

export type PostV1UserResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type PostV1UserResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1UserResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1UserResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1UserResponses =
  PostV1UserResponseOK
  | PostV1UserResponseBadRequest
  | PostV1UserResponseNotFound
  | PostV1UserResponseInternalServerError

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

export type GetV1UserResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type GetV1UserResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1UserResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1UserResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1UserResponses =
  GetV1UserResponseOK
  | GetV1UserResponseBadRequest
  | GetV1UserResponseNotFound
  | GetV1UserResponseInternalServerError

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

export type GetV1UserBranchResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type GetV1UserBranchResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1UserBranchResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1UserBranchResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1UserBranchResponses =
  GetV1UserBranchResponseOK
  | GetV1UserBranchResponseBadRequest
  | GetV1UserBranchResponseNotFound
  | GetV1UserBranchResponseInternalServerError

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

export type GetV1UserLocationResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type GetV1UserLocationResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1UserLocationResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1UserLocationResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1UserLocationResponses =
  GetV1UserLocationResponseOK
  | GetV1UserLocationResponseBadRequest
  | GetV1UserLocationResponseNotFound
  | GetV1UserLocationResponseInternalServerError

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

export type GetV1UserDepartmentResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type GetV1UserDepartmentResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1UserDepartmentResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1UserDepartmentResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1UserDepartmentResponses =
  GetV1UserDepartmentResponseOK
  | GetV1UserDepartmentResponseBadRequest
  | GetV1UserDepartmentResponseNotFound
  | GetV1UserDepartmentResponseInternalServerError

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

export type GetV1UserIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type GetV1UserIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1UserIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1UserIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1UserIdResponses =
  GetV1UserIdResponseOK
  | GetV1UserIdResponseBadRequest
  | GetV1UserIdResponseNotFound
  | GetV1UserIdResponseInternalServerError

export type PutV1UserIdRequest = {
  'skip'?: number;
  'limit'?: number;
  'order'?: string;
  'filters'?: string;
  'search'?: string;
  'select'?: string;
  'x-token'?: string;
  'x-timezone'?: string;
  'id': string;
  'basic_details': { 'first_name'?: string; 'last_name'?: string; 'middle_name'?: string; 'country_code'?: string; 'phone'?: string; 'email'?: string; 'password'?: string; 'role_id'?: string; 'branch_id'?: number; 'location_id'?: number; 'department_id'?: number; 'profile_image'?: string; 'company_id'?: number };
  'time_based_access_details': { 'start_date'?: string | Date; 'end_date'?: string | Date; 'start_time': string; 'end_time': string; 'never_end'?: boolean; 'access_details': { 'type'?: 'not_repeated' | 'repeat_daily' | 'repeat_weekdays' | 'repeat_selected_weekdays' | 'repeat_monthly_selected_days' | 'repeat_yearly_selected_days'; 'repeat_daily'?: { 'interval_days': number }; 'repeat_selected_weekdays'?: { 'weekdays': Array<0 | 1 | 2 | 3 | 4 | 5 | 6> }; 'repeat_monthly_selected_days'?: object; 'repeat_yearly_selected_days'?: object } };
  'entity_access_details': { 'access_details'?: { 'company'?: Array<string>; 'branch'?: Array<string>; 'location'?: Array<string>; 'department'?: Array<string> }; 'selected_company'?: string };
}

export type PutV1UserIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type PutV1UserIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1UserIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1UserIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1UserIdResponses =
  PutV1UserIdResponseOK
  | PutV1UserIdResponseBadRequest
  | PutV1UserIdResponseNotFound
  | PutV1UserIdResponseInternalServerError

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

export type DeleteV1UserIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type DeleteV1UserIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1UserIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1UserIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1UserIdResponses =
  DeleteV1UserIdResponseOK
  | DeleteV1UserIdResponseBadRequest
  | DeleteV1UserIdResponseNotFound
  | DeleteV1UserIdResponseInternalServerError

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

export type PatchV1UserUpdateStatusIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type PatchV1UserUpdateStatusIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PatchV1UserUpdateStatusIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PatchV1UserUpdateStatusIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PatchV1UserUpdateStatusIdResponses =
  PatchV1UserUpdateStatusIdResponseOK
  | PatchV1UserUpdateStatusIdResponseBadRequest
  | PatchV1UserUpdateStatusIdResponseNotFound
  | PatchV1UserUpdateStatusIdResponseInternalServerError

export type GetV1UserModulesRequest = {
  'module'?: string;
  'x-token'?: string;
  'x-timezone'?: string;
}

export type GetV1UserModulesResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': object;
  'pagination': object;
}
export type GetV1UserModulesResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1UserModulesResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1UserModulesResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1UserModulesResponses =
  GetV1UserModulesResponseOK
  | GetV1UserModulesResponseBadRequest
  | GetV1UserModulesResponseNotFound
  | GetV1UserModulesResponseInternalServerError

export type PostV1AuthLoginRequest = {
  'x-timezone'?: string;
}

export type PostV1AuthForgotPasswordRequest = {
  'x-timezone'?: string;
}


export type PostV1AuthResetPasswordRequest = {
  'x-timezone'?: string;
}

export type PostV1AuthLoginResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type PostV1AuthLoginResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1AuthLoginResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1AuthLoginResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1AuthLoginResponses =
  PostV1AuthLoginResponseOK
  | PostV1AuthLoginResponseBadRequest
  | PostV1AuthLoginResponseNotFound
  | PostV1AuthLoginResponseInternalServerError

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

export type PostV1CompanyResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type PostV1CompanyResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1CompanyResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1CompanyResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1CompanyResponses =
  PostV1CompanyResponseOK
  | PostV1CompanyResponseBadRequest
  | PostV1CompanyResponseNotFound
  | PostV1CompanyResponseInternalServerError

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

export type GetV1CompanyResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type GetV1CompanyResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1CompanyResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1CompanyResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1CompanyResponses =
  GetV1CompanyResponseOK
  | GetV1CompanyResponseBadRequest
  | GetV1CompanyResponseNotFound
  | GetV1CompanyResponseInternalServerError

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

export type GetV1CompanyIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type GetV1CompanyIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1CompanyIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1CompanyIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1CompanyIdResponses =
  GetV1CompanyIdResponseOK
  | GetV1CompanyIdResponseBadRequest
  | GetV1CompanyIdResponseNotFound
  | GetV1CompanyIdResponseInternalServerError

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

export type PutV1CompanyIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type PutV1CompanyIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1CompanyIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1CompanyIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1CompanyIdResponses =
  PutV1CompanyIdResponseOK
  | PutV1CompanyIdResponseBadRequest
  | PutV1CompanyIdResponseNotFound
  | PutV1CompanyIdResponseInternalServerError

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

export type DeleteV1CompanyIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type DeleteV1CompanyIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1CompanyIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1CompanyIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1CompanyIdResponses =
  DeleteV1CompanyIdResponseOK
  | DeleteV1CompanyIdResponseBadRequest
  | DeleteV1CompanyIdResponseNotFound
  | DeleteV1CompanyIdResponseInternalServerError

export type PostV1ConfigRequest = {
  'x-token'?: string;
  'x-timezone'?: string;
  body: Array<{ 'key': string; 'value': number; 'company_ids': Array<number> }>
}

export type PostV1ConfigResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type PostV1ConfigResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1ConfigResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1ConfigResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PostV1ConfigResponses =
  PostV1ConfigResponseOK
  | PostV1ConfigResponseBadRequest
  | PostV1ConfigResponseNotFound
  | PostV1ConfigResponseInternalServerError

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

export type GetV1ConfigResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type GetV1ConfigResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1ConfigResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1ConfigResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1ConfigResponses =
  GetV1ConfigResponseOK
  | GetV1ConfigResponseBadRequest
  | GetV1ConfigResponseNotFound
  | GetV1ConfigResponseInternalServerError

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

export type GetV1ConfigIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type GetV1ConfigIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1ConfigIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1ConfigIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1ConfigIdResponses =
  GetV1ConfigIdResponseOK
  | GetV1ConfigIdResponseBadRequest
  | GetV1ConfigIdResponseNotFound
  | GetV1ConfigIdResponseInternalServerError

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

export type PutV1ConfigIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type PutV1ConfigIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1ConfigIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1ConfigIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type PutV1ConfigIdResponses =
  PutV1ConfigIdResponseOK
  | PutV1ConfigIdResponseBadRequest
  | PutV1ConfigIdResponseNotFound
  | PutV1ConfigIdResponseInternalServerError

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

export type DeleteV1ConfigIdResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type DeleteV1ConfigIdResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1ConfigIdResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1ConfigIdResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type DeleteV1ConfigIdResponses =
  DeleteV1ConfigIdResponseOK
  | DeleteV1ConfigIdResponseBadRequest
  | DeleteV1ConfigIdResponseNotFound
  | DeleteV1ConfigIdResponseInternalServerError

export type GetV1LocationsCountriesRequest = {
  'skip'?: number;
  'limit'?: number;
  'order'?: string;
  'filters'?: string;
  'search'?: string;
  'select'?: string;
}

export type GetV1LocationsCountriesResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type GetV1LocationsCountriesResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1LocationsCountriesResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1LocationsCountriesResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1LocationsCountriesResponses =
  GetV1LocationsCountriesResponseOK
  | GetV1LocationsCountriesResponseBadRequest
  | GetV1LocationsCountriesResponseNotFound
  | GetV1LocationsCountriesResponseInternalServerError

export type GetV1LocationsStatesRequest = {
  'skip'?: number;
  'limit'?: number;
  'order'?: string;
  'filters'?: string;
  'search'?: string;
  'select'?: string;
}

export type GetV1LocationsStatesResponseOK = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
  'data': unknown;
  'pagination': unknown;
}
export type GetV1LocationsStatesResponseBadRequest = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1LocationsStatesResponseNotFound = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1LocationsStatesResponseInternalServerError = {
  'api': { 'author'?: string; 'version'?: string; 'endpoint'?: string; 'module'?: string };
  'success': boolean;
  'status_code': number;
  'message': string;
}
export type GetV1LocationsStatesResponses =
  GetV1LocationsStatesResponseOK
  | GetV1LocationsStatesResponseBadRequest
  | GetV1LocationsStatesResponseNotFound
  | GetV1LocationsStatesResponseInternalServerError



export interface Api {
  setBaseUrl(newUrl: string) : void;
  setDefaultHeaders(headers: Object) : void;
  postV1Permission(req?: PostV1PermissionRequest): Promise<PostV1PermissionResponses>;
  getV1Permission(req?: GetV1PermissionRequest): Promise<GetV1PermissionResponses>;
  getV1PermissionId(req?: GetV1PermissionIdRequest): Promise<GetV1PermissionIdResponses>;
  putV1PermissionId(req?: PutV1PermissionIdRequest): Promise<PutV1PermissionIdResponses>;
  deleteV1PermissionId(req?: DeleteV1PermissionIdRequest): Promise<DeleteV1PermissionIdResponses>;
  getV1PermissionRoleId(req?: GetV1PermissionRoleIdRequest): Promise<GetV1PermissionRoleIdResponses>;
  postV1Resource(req?: PostV1ResourceRequest): Promise<PostV1ResourceResponses>;
  getV1Resource(req?: GetV1ResourceRequest): Promise<GetV1ResourceResponses>;
  getV1ResourceId(req?: GetV1ResourceIdRequest): Promise<GetV1ResourceIdResponses>;
  putV1ResourceId(req?: PutV1ResourceIdRequest): Promise<PutV1ResourceIdResponses>;
  deleteV1ResourceId(req?: DeleteV1ResourceIdRequest): Promise<DeleteV1ResourceIdResponses>;
  getV1ResourceModules(req?: GetV1ResourceModulesRequest): Promise<GetV1ResourceModulesResponses>;
  postV1ResourceSubModules(req?: PostV1ResourceSubModulesRequest): Promise<PostV1ResourceSubModulesResponses>;
  postV1Role(req?: PostV1RoleRequest): Promise<PostV1RoleResponses>;
  getV1Role(req?: GetV1RoleRequest): Promise<GetV1RoleResponses>;
  getV1RoleId(req?: GetV1RoleIdRequest): Promise<GetV1RoleIdResponses>;
  putV1RoleId(req?: PutV1RoleIdRequest): Promise<PutV1RoleIdResponses>;
  deleteV1RoleId(req?: DeleteV1RoleIdRequest): Promise<DeleteV1RoleIdResponses>;
  getV1RoleUserId(req?: GetV1RoleUserIdRequest): Promise<GetV1RoleUserIdResponses>;
  postV1RoleUserId(req?: PostV1RoleUserIdRequest): Promise<PostV1RoleUserIdResponses>;
  postV1User(req?: PostV1UserRequest): Promise<PostV1UserResponses>;
  getV1User(req?: GetV1UserRequest): Promise<GetV1UserResponses>;
  getV1UserBranch(req?: GetV1UserBranchRequest): Promise<GetV1UserBranchResponses>;
  getV1UserLocation(req?: GetV1UserLocationRequest): Promise<GetV1UserLocationResponses>;
  getV1UserDepartment(req?: GetV1UserDepartmentRequest): Promise<GetV1UserDepartmentResponses>;
  getV1UserId(req?: GetV1UserIdRequest): Promise<GetV1UserIdResponses>;
  putV1UserId(req?: PutV1UserIdRequest): Promise<PutV1UserIdResponses>;
  deleteV1UserId(req?: DeleteV1UserIdRequest): Promise<DeleteV1UserIdResponses>;
  patchV1UserUpdateStatusId(req?: PatchV1UserUpdateStatusIdRequest): Promise<PatchV1UserUpdateStatusIdResponses>;
  getV1UserModules(req?: GetV1UserModulesRequest): Promise<GetV1UserModulesResponses>;
  postV1AuthLogin(req?: PostV1AuthLoginRequest): Promise<PostV1AuthLoginResponses>;
  postV1Company(req?: PostV1CompanyRequest): Promise<PostV1CompanyResponses>;
  getV1Company(req?: GetV1CompanyRequest): Promise<GetV1CompanyResponses>;
  getV1CompanyId(req?: GetV1CompanyIdRequest): Promise<GetV1CompanyIdResponses>;
  putV1CompanyId(req?: PutV1CompanyIdRequest): Promise<PutV1CompanyIdResponses>;
  deleteV1CompanyId(req?: DeleteV1CompanyIdRequest): Promise<DeleteV1CompanyIdResponses>;
  postV1Config(req?: PostV1ConfigRequest[]): Promise<PostV1ConfigResponses>;
  getV1Config(req?: GetV1ConfigRequest): Promise<GetV1ConfigResponses>;
  getV1ConfigId(req?: GetV1ConfigIdRequest): Promise<GetV1ConfigIdResponses>;
  putV1ConfigId(req?: PutV1ConfigIdRequest): Promise<PutV1ConfigIdResponses>;
  deleteV1ConfigId(req?: DeleteV1ConfigIdRequest): Promise<DeleteV1ConfigIdResponses>;
  getV1LocationsCountries(req?: GetV1LocationsCountriesRequest): Promise<GetV1LocationsCountriesResponses>;
  getV1LocationsStates(req?: GetV1LocationsStatesRequest): Promise<GetV1LocationsStatesResponses>;
  postV1AuthForgotPassword(req?: PostV1AuthForgotPasswordRequest): Promise<PostV1AuthLoginResponses>;
  postV1AuthResetPassword(req?: PostV1AuthResetPasswordRequest): Promise<PostV1AuthLoginResponses>;
}
type PlatformaticFrontendClient = Omit<Api, 'setBaseUrl'>
type BuildOptions = {
  headers?: Object
}
export default function build(url: string, options?: BuildOptions): PlatformaticFrontendClient
