// This file is auto-generated by @hey-api/openapi-ts

/**
 * BoardSchema
 */
export type BoardSchema = {
    /**
     * Id
     */
    id: number;
    /**
     * Name
     */
    name: string;
    /**
     * Lexorank
     */
    lexorank: string;
};

/**
 * CreateBoardRequest
 */
export type CreateBoardRequest = {
    entity: CreateBoardSchema;
};

/**
 * CreateBoardResponse
 */
export type CreateBoardResponse = {
    /**
     * Message
     */
    message: string;
    entity: BoardSchema;
};

/**
 * CreateBoardSchema
 */
export type CreateBoardSchema = {
    /**
     * Name
     */
    name: string;
    /**
     * Projectid
     */
    projectId: number;
    /**
     * Lexorank
     */
    lexorank: string;
};

/**
 * CreateDealRequest
 */
export type CreateDealRequest = {
    entity: CreateDealSchema;
};

/**
 * CreateDealResponse
 */
export type CreateDealResponse = {
    /**
     * Message
     */
    message: string;
    entity: DealSchema;
};

/**
 * CreateDealSchema
 */
export type CreateDealSchema = {
    /**
     * Name
     */
    name: string;
    /**
     * Boardid
     */
    boardId: number;
    /**
     * Lexorank
     */
    lexorank: string;
    /**
     * Statusid
     */
    statusId: number;
};

/**
 * CreateProjectRequest
 */
export type CreateProjectRequest = {
    entity: CreateProjectSchema;
};

/**
 * CreateProjectResponse
 */
export type CreateProjectResponse = {
    /**
     * Message
     */
    message: string;
    entity: ProjectSchema;
};

/**
 * CreateProjectSchema
 */
export type CreateProjectSchema = {
    /**
     * Name
     */
    name: string;
};

/**
 * CreateStatusRequest
 */
export type CreateStatusRequest = {
    entity: CreateStatusSchema;
};

/**
 * CreateStatusResponse
 */
export type CreateStatusResponse = {
    /**
     * Message
     */
    message: string;
    entity: StatusSchema;
};

/**
 * CreateStatusSchema
 */
export type CreateStatusSchema = {
    /**
     * Name
     */
    name: string;
    /**
     * Boardid
     */
    boardId: number;
    /**
     * Lexorank
     */
    lexorank: string;
};

/**
 * DealSchema
 */
export type DealSchema = {
    /**
     * Id
     */
    id: number;
    /**
     * Name
     */
    name: string;
    /**
     * Lexorank
     */
    lexorank: string;
    /**
     * Statusid
     */
    statusId: number;
    /**
     * Createdat
     */
    createdAt: string;
};

/**
 * DeleteBoardResponse
 */
export type DeleteBoardResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * DeleteDealResponse
 */
export type DeleteDealResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * DeleteProjectResponse
 */
export type DeleteProjectResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * DeleteStatusResponse
 */
export type DeleteStatusResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * GetBoardsResponse
 */
export type GetBoardsResponse = {
    /**
     * Boards
     */
    boards: Array<BoardSchema>;
};

/**
 * GetDealsResponse
 */
export type GetDealsResponse = {
    /**
     * Deals
     */
    deals: Array<DealSchema>;
    paginationInfo: PaginationInfoSchema;
};

/**
 * GetProjectsResponse
 */
export type GetProjectsResponse = {
    /**
     * Projects
     */
    projects: Array<ProjectSchema>;
};

/**
 * GetStatusesResponse
 */
export type GetStatusesResponse = {
    /**
     * Statuses
     */
    statuses: Array<StatusSchema>;
};

/**
 * HTTPValidationError
 */
export type HttpValidationError = {
    /**
     * Detail
     */
    detail?: Array<ValidationError>;
};

/**
 * PaginationInfoSchema
 */
export type PaginationInfoSchema = {
    /**
     * Totalpages
     */
    totalPages: number;
    /**
     * Totalitems
     */
    totalItems: number;
};

/**
 * ProjectSchema
 */
export type ProjectSchema = {
    /**
     * Id
     */
    id: number;
    /**
     * Name
     */
    name: string;
};

/**
 * StatusSchema
 */
export type StatusSchema = {
    /**
     * Id
     */
    id: number;
    /**
     * Name
     */
    name: string;
    /**
     * Lexorank
     */
    lexorank: string;
};

/**
 * UpdateBoardRequest
 */
export type UpdateBoardRequest = {
    entity: UpdateBoardSchema;
};

/**
 * UpdateBoardResponse
 */
export type UpdateBoardResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * UpdateBoardSchema
 */
export type UpdateBoardSchema = {
    /**
     * Name
     */
    name?: string | null;
    /**
     * Lexorank
     */
    lexorank?: string | null;
};

/**
 * UpdateDealRequest
 */
export type UpdateDealRequest = {
    entity: UpdateDealSchema;
};

/**
 * UpdateDealResponse
 */
export type UpdateDealResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * UpdateDealSchema
 */
export type UpdateDealSchema = {
    /**
     * Name
     */
    name?: string | null;
    /**
     * Lexorank
     */
    lexorank?: string | null;
    /**
     * Statusid
     */
    statusId?: number | null;
};

/**
 * UpdateProjectRequest
 */
export type UpdateProjectRequest = {
    entity: UpdateProjectSchema;
};

/**
 * UpdateProjectResponse
 */
export type UpdateProjectResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * UpdateProjectSchema
 */
export type UpdateProjectSchema = {
    /**
     * Name
     */
    name?: string | null;
};

/**
 * UpdateStatusRequest
 */
export type UpdateStatusRequest = {
    entity: UpdateStatusSchema;
};

/**
 * UpdateStatusResponse
 */
export type UpdateStatusResponse = {
    /**
     * Message
     */
    message: string;
};

/**
 * UpdateStatusSchema
 */
export type UpdateStatusSchema = {
    /**
     * Name
     */
    name?: string | null;
    /**
     * Lexorank
     */
    lexorank?: string | null;
};

/**
 * ValidationError
 */
export type ValidationError = {
    /**
     * Location
     */
    loc: Array<string | number>;
    /**
     * Message
     */
    msg: string;
    /**
     * Error Type
     */
    type: string;
};

export type GetBoardsData = {
    body?: never;
    path: {
        /**
         * Projectid
         */
        projectId: number;
    };
    query?: never;
    url: "/board/{projectId}";
};

export type GetBoardsErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type GetBoardsError = GetBoardsErrors[keyof GetBoardsErrors];

export type GetBoardsResponses = {
    /**
     * Successful Response
     */
    200: GetBoardsResponse;
};

export type GetBoardsResponse2 = GetBoardsResponses[keyof GetBoardsResponses];

export type CreateBoardData = {
    body: CreateBoardRequest;
    path?: never;
    query?: never;
    url: "/board/";
};

export type CreateBoardErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type CreateBoardError = CreateBoardErrors[keyof CreateBoardErrors];

export type CreateBoardResponses = {
    /**
     * Successful Response
     */
    200: CreateBoardResponse;
};

export type CreateBoardResponse2 =
    CreateBoardResponses[keyof CreateBoardResponses];

export type DeleteBoardData = {
    body?: never;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/board/{pk}";
};

export type DeleteBoardErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type DeleteBoardError = DeleteBoardErrors[keyof DeleteBoardErrors];

export type DeleteBoardResponses = {
    /**
     * Successful Response
     */
    200: DeleteBoardResponse;
};

export type DeleteBoardResponse2 =
    DeleteBoardResponses[keyof DeleteBoardResponses];

export type UpdateBoardData = {
    body: UpdateBoardRequest;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/board/{pk}";
};

export type UpdateBoardErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type UpdateBoardError = UpdateBoardErrors[keyof UpdateBoardErrors];

export type UpdateBoardResponses = {
    /**
     * Successful Response
     */
    200: UpdateBoardResponse;
};

export type UpdateBoardResponse2 =
    UpdateBoardResponses[keyof UpdateBoardResponses];

export type GetDealsData = {
    body?: never;
    path?: never;
    query?: {
        /**
         * Boardid
         */
        boardId?: number | null;
        /**
         * Projectid
         */
        projectId?: number | null;
        /**
         * Page
         */
        page?: number | null;
        /**
         * Itemsperpage
         */
        itemsPerPage?: number | null;
    };
    url: "/deal/";
};

export type GetDealsErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type GetDealsError = GetDealsErrors[keyof GetDealsErrors];

export type GetDealsResponses = {
    /**
     * Successful Response
     */
    200: GetDealsResponse;
};

export type GetDealsResponse2 = GetDealsResponses[keyof GetDealsResponses];

export type CreateDealData = {
    body: CreateDealRequest;
    path?: never;
    query?: never;
    url: "/deal/";
};

export type CreateDealErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type CreateDealError = CreateDealErrors[keyof CreateDealErrors];

export type CreateDealResponses = {
    /**
     * Successful Response
     */
    200: CreateDealResponse;
};

export type CreateDealResponse2 =
    CreateDealResponses[keyof CreateDealResponses];

export type DeleteDealData = {
    body?: never;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/deal/{pk}";
};

export type DeleteDealErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type DeleteDealError = DeleteDealErrors[keyof DeleteDealErrors];

export type DeleteDealResponses = {
    /**
     * Successful Response
     */
    200: DeleteDealResponse;
};

export type DeleteDealResponse2 =
    DeleteDealResponses[keyof DeleteDealResponses];

export type UpdateDealData = {
    body: UpdateDealRequest;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/deal/{pk}";
};

export type UpdateDealErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type UpdateDealError = UpdateDealErrors[keyof UpdateDealErrors];

export type UpdateDealResponses = {
    /**
     * Successful Response
     */
    200: UpdateDealResponse;
};

export type UpdateDealResponse2 =
    UpdateDealResponses[keyof UpdateDealResponses];

export type GetProjectsData = {
    body?: never;
    path?: never;
    query?: never;
    url: "/project/";
};

export type GetProjectsResponses = {
    /**
     * Successful Response
     */
    200: GetProjectsResponse;
};

export type GetProjectsResponse2 =
    GetProjectsResponses[keyof GetProjectsResponses];

export type CreateProjectData = {
    body: CreateProjectRequest;
    path?: never;
    query?: never;
    url: "/project/";
};

export type CreateProjectErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type CreateProjectError = CreateProjectErrors[keyof CreateProjectErrors];

export type CreateProjectResponses = {
    /**
     * Successful Response
     */
    200: CreateProjectResponse;
};

export type CreateProjectResponse2 =
    CreateProjectResponses[keyof CreateProjectResponses];

export type DeleteProjectData = {
    body?: never;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/project/{pk}";
};

export type DeleteProjectErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type DeleteProjectError = DeleteProjectErrors[keyof DeleteProjectErrors];

export type DeleteProjectResponses = {
    /**
     * Successful Response
     */
    200: DeleteProjectResponse;
};

export type DeleteProjectResponse2 =
    DeleteProjectResponses[keyof DeleteProjectResponses];

export type UpdateProjectData = {
    body: UpdateProjectRequest;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/project/{pk}";
};

export type UpdateProjectErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type UpdateProjectError = UpdateProjectErrors[keyof UpdateProjectErrors];

export type UpdateProjectResponses = {
    /**
     * Successful Response
     */
    200: UpdateProjectResponse;
};

export type UpdateProjectResponse2 =
    UpdateProjectResponses[keyof UpdateProjectResponses];

export type GetStatusesData = {
    body?: never;
    path: {
        /**
         * Boardid
         */
        boardId: number;
    };
    query?: never;
    url: "/status/{boardId}";
};

export type GetStatusesErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type GetStatusesError = GetStatusesErrors[keyof GetStatusesErrors];

export type GetStatusesResponses = {
    /**
     * Successful Response
     */
    200: GetStatusesResponse;
};

export type GetStatusesResponse2 =
    GetStatusesResponses[keyof GetStatusesResponses];

export type CreateStatusData = {
    body: CreateStatusRequest;
    path?: never;
    query?: never;
    url: "/status/";
};

export type CreateStatusErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type CreateStatusError = CreateStatusErrors[keyof CreateStatusErrors];

export type CreateStatusResponses = {
    /**
     * Successful Response
     */
    200: CreateStatusResponse;
};

export type CreateStatusResponse2 =
    CreateStatusResponses[keyof CreateStatusResponses];

export type DeleteStatusData = {
    body?: never;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/status/{pk}";
};

export type DeleteStatusErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type DeleteStatusError = DeleteStatusErrors[keyof DeleteStatusErrors];

export type DeleteStatusResponses = {
    /**
     * Successful Response
     */
    200: DeleteStatusResponse;
};

export type DeleteStatusResponse2 =
    DeleteStatusResponses[keyof DeleteStatusResponses];

export type UpdateStatusData = {
    body: UpdateStatusRequest;
    path: {
        /**
         * Pk
         */
        pk: number;
    };
    query?: never;
    url: "/status/{pk}";
};

export type UpdateStatusErrors = {
    /**
     * Validation Error
     */
    422: HttpValidationError;
};

export type UpdateStatusError = UpdateStatusErrors[keyof UpdateStatusErrors];

export type UpdateStatusResponses = {
    /**
     * Successful Response
     */
    200: UpdateStatusResponse;
};

export type UpdateStatusResponse2 =
    UpdateStatusResponses[keyof UpdateStatusResponses];

export type ClientOptions = {
    baseURL: `${string}://${string}/api` | (string & {});
};
