import type * as Merge from "../../../../../../index";
/**
 * @example
 *     {
 *         accountId: "account_id",
 *         assigneeIds: "assignee_ids",
 *         collectionIds: "collection_ids",
 *         completedAfter: new Date("2024-01-15T09:30:00.000Z"),
 *         completedBefore: new Date("2024-01-15T09:30:00.000Z"),
 *         contactId: "contact_id",
 *         createdAfter: new Date("2024-01-15T09:30:00.000Z"),
 *         createdBefore: new Date("2024-01-15T09:30:00.000Z"),
 *         creatorId: "creator_id",
 *         creatorIds: "creator_ids",
 *         cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
 *         dueAfter: new Date("2024-01-15T09:30:00.000Z"),
 *         dueBefore: new Date("2024-01-15T09:30:00.000Z"),
 *         includeDeletedData: true,
 *         includeRemoteData: true,
 *         includeRemoteFields: true,
 *         includeShellData: true,
 *         modifiedAfter: new Date("2024-01-15T09:30:00.000Z"),
 *         modifiedBefore: new Date("2024-01-15T09:30:00.000Z"),
 *         name: "name",
 *         pageSize: 1,
 *         parentTicketId: "parent_ticket_id",
 *         priority: "HIGH",
 *         remoteCreatedAfter: new Date("2024-01-15T09:30:00.000Z"),
 *         remoteCreatedBefore: new Date("2024-01-15T09:30:00.000Z"),
 *         remoteFields: "priority",
 *         remoteId: "remote_id",
 *         remoteIds: "remote_ids",
 *         remoteUpdatedAfter: new Date("2024-01-15T09:30:00.000Z"),
 *         remoteUpdatedBefore: new Date("2024-01-15T09:30:00.000Z"),
 *         showEnumOrigins: "priority",
 *         status: "",
 *         tags: "tags",
 *         ticketType: "ticket_type",
 *         ticketUrl: "ticket_url"
 *     }
 */
export interface TicketsListRequest {
    /** If provided, will only return tickets for this account. */
    accountId?: string;
    /** If provided, will only return tickets assigned to the assignee_ids; multiple assignee_ids can be separated by commas. */
    assigneeIds?: string;
    /** If provided, will only return tickets assigned to the collection_ids; multiple collection_ids can be separated by commas. */
    collectionIds?: string;
    /** If provided, will only return tickets completed after this datetime. */
    completedAfter?: Date;
    /** If provided, will only return tickets completed before this datetime. */
    completedBefore?: Date;
    /** If provided, will only return tickets for this contact. */
    contactId?: string;
    /** If provided, will only return objects created after this datetime. */
    createdAfter?: Date;
    /** If provided, will only return objects created before this datetime. */
    createdBefore?: Date;
    /** If provided, will only return tickets created by this creator_id. */
    creatorId?: string;
    /** If provided, will only return tickets created by the creator_ids; multiple creator_ids can be separated by commas. */
    creatorIds?: string;
    /** The pagination cursor value. */
    cursor?: string;
    /** If provided, will only return tickets due after this datetime. */
    dueAfter?: Date;
    /** If provided, will only return tickets due before this datetime. */
    dueBefore?: Date;
    /** Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. */
    expand?: Merge.ticketing.TicketsListRequestExpandItem | Merge.ticketing.TicketsListRequestExpandItem[];
    /** Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). */
    includeDeletedData?: boolean;
    /** Whether to include the original data Merge fetched from the third-party to produce these models. */
    includeRemoteData?: boolean;
    /** Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. */
    includeRemoteFields?: boolean;
    /** Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). */
    includeShellData?: boolean;
    /** If provided, only objects synced by Merge after this date time will be returned. */
    modifiedAfter?: Date;
    /** If provided, only objects synced by Merge before this date time will be returned. */
    modifiedBefore?: Date;
    /** If provided, will only return tickets with this name. */
    name?: string;
    /** Number of results to return per page. The maximum limit is 100. */
    pageSize?: number;
    /** If provided, will only return sub tickets of the parent_ticket_id. */
    parentTicketId?: string;
    /**
     * If provided, will only return tickets of this priority.
     *
     * * `URGENT` - URGENT
     * * `HIGH` - HIGH
     * * `NORMAL` - NORMAL
     * * `LOW` - LOW
     */
    priority?: Merge.ticketing.TicketsListRequestPriority;
    /** If provided, will only return tickets created in the third party platform after this datetime. */
    remoteCreatedAfter?: Date;
    /** If provided, will only return tickets created in the third party platform before this datetime. */
    remoteCreatedBefore?: Date;
    /** Deprecated. Use show_enum_origins. */
    remoteFields?: Merge.ticketing.TicketsListRequestRemoteFields;
    /** The API provider's ID for the given object. */
    remoteId?: string;
    /** If provided, will only return tickets with these remote IDs (comma-separated). */
    remoteIds?: string;
    /** If provided, will only return tickets updated in the third party platform after this datetime. */
    remoteUpdatedAfter?: Date;
    /** If provided, will only return tickets updated in the third party platform before this datetime. */
    remoteUpdatedBefore?: Date;
    /** A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) */
    showEnumOrigins?: Merge.ticketing.TicketsListRequestShowEnumOrigins;
    /** If provided, will only return tickets of this status. */
    status?: Merge.ticketing.TicketsListRequestStatus;
    /** If provided, will only return tickets matching the tags; multiple tags can be separated by commas. */
    tags?: string;
    /** If provided, will only return tickets of this type. */
    ticketType?: string;
    /** If provided, will only return tickets where the URL matches or contains the substring */
    ticketUrl?: string;
}
