import { AbstractRestfulClient, Parameters, ParametersWithPaginationType } from '../abstractRestfulClient'; import { Issue, Issues, IssueStatusesType } from './entities/issue/issue'; import { GetResult } from '../getResult'; import { IssueAttachment, IssueAttachments } from './entities/issue/attachment'; import { CreateIssuePayload, UpdateIssuePayload } from './payloads/issue'; import { IssueComment, IssueComments } from './entities/issue/comment'; import { AddIssueCommentPayload } from './payloads/comment'; import { AddIssueAttachmentPayload } from './payloads/attachment'; import { Topics } from './entities/topic'; export declare enum ListIssueParametersFields { DIR = "dir", END_CUSTOMER_REF = "endCustomerRef", PROGRAM = "program", RESELLER_REF = "resellerRef", SKU = "sku", SORT = "sort", STATUSES = "statuses", TITLE = "title", CREATED_BY = "createdBy", DATE_CREATION_START = "dateCreationStart", DATE_CREATION_END = "dateCreationEnd", PAGE = "page", PER_PAGE = "per_page", PER_PAGE_CAMEL = "perPage" } export declare type ListIssueParametersType = ParametersWithPaginationType & { [ListIssueParametersFields.DIR]?: string; [ListIssueParametersFields.END_CUSTOMER_REF]?: string; [ListIssueParametersFields.PROGRAM]?: string; [ListIssueParametersFields.RESELLER_REF]?: string; [ListIssueParametersFields.SKU]?: string; [ListIssueParametersFields.SORT]?: 'title' | 'updated' | 'status'; [ListIssueParametersFields.STATUSES]?: IssueStatusesType | IssueStatusesType[]; [ListIssueParametersFields.TITLE]?: string; [ListIssueParametersFields.CREATED_BY]?: string; [ListIssueParametersFields.DATE_CREATION_START]?: string; [ListIssueParametersFields.DATE_CREATION_END]?: string; }; export declare class SupportCenterClient extends AbstractRestfulClient { protected basePath: string; listTopics(parameters?: Parameters): Promise>; listIssues(parameters?: ListIssueParametersType): Promise>; createIssue(issuePayload: CreateIssuePayload, parameters?: Parameters): Promise>; getIssue(issueId: string, parameters?: Parameters): Promise>; updateIssue(issueId: string, payload: UpdateIssuePayload, parameters?: Parameters): Promise>; listIssueComments(issueId: string, parameters?: Parameters): Promise>; addIssueComment(issueId: string, payload: AddIssueCommentPayload, parameters?: Parameters): Promise>; listIssueAttachments(issueId: string, parameters?: Parameters): Promise>; addIssueAttachment(issueId: string, payload: AddIssueAttachmentPayload, parameters?: Parameters): Promise>; downloadIssueAttachment(issueId: string, attachmentId: string, parameters?: Parameters): Promise>; }