import { ITicket } from "./Ticket"; import { TicketOrigin, TicketPriority, TicketPropertyValue, TicketStage } from "./Common"; export interface ITicketCursorRequest { cursor?: string; limit?: number; } export interface ITicketCursorResponse { items: T[]; nextCursor?: string; hasMore: boolean; } export declare enum TicketSortDirection { ASC = "ASC", DESC = "DESC" } export interface ITicketSort { fieldNameKey: string; direction: TicketSortDirection; } export interface ITicketFieldFilter { fieldNameKey: string; operator: string; value?: TicketPropertyValue; } export interface ITicketFilter { search?: string; stages?: TicketStage[]; statusIds?: string[]; priorities?: TicketPriority[]; origins?: TicketOrigin[]; contactIds?: string[]; assigneeIds?: string[]; assignedGroupIds?: string[]; categoryIds?: string[]; requestTypeIds?: string[]; tagIds?: string[]; createdFrom?: Date; createdTo?: Date; dueFrom?: Date; dueTo?: Date; includeDeleted?: boolean; fields?: ITicketFieldFilter[]; } export interface ITicketQuery extends ITicketCursorRequest { filter?: ITicketFilter; sort?: ITicketSort[]; } export interface ITransitionTicketDto { expectedVersion: number; toStatusId: string; comment?: string; properties?: { nameKey: string; value: TicketPropertyValue; }[]; formSubmissionIds?: string[]; } export interface IAssignTicketDto { expectedVersion: number; assigneeId?: string; assignedGroupId?: string; } export type TicketPage = ITicketCursorResponse;