import { Observable } from 'rxjs'; import { HttpBackendClientService } from '../../../shared/services/http-backend-client.service'; import { ZendeskAttachment } from '../interfaces/zendesk-attachment.interface'; import { ZendeskAudit } from '../interfaces/zendesk-audit.interface'; import { ZendeskComment } from '../interfaces/zendesk-comment.interface'; import { ZendeskConfig } from '../interfaces/zendesk-config.interface'; import { ZendeskJobStatus } from '../interfaces/zendesk-job-status.interface'; import { ZendeskTicket } from '../interfaces/zendesk-ticket.interface'; import { ZendeskUser, ZendeskUserRole } from '../interfaces/zendesk-user.interface'; export interface MergeTicketData { source_comment?: string; source_comment_is_public?: boolean; target_comment?: string; target_comment_is_public?: boolean; } export declare class TicketsService { private http; private headers; private apiUrl; private refreshSubject; refresh$: Observable; tags: string[]; constructor(http: HttpBackendClientService); setZendesk(value: ZendeskConfig): void; getTicketList(pageSize?: number, page?: number, sortBy?: string, sortOrder?: string): Observable; getTicket(ticketId: number): Observable; getTickets(query?: string, pageSize?: number, page?: number, sortBy?: string, sortOrder?: string): Observable; searchUser(query: string): Observable; createUser(user: Partial): Observable; searchTicketsByUser(userId: number, query: string, pageSize?: number, page?: number, sortBy?: string, sortOrder?: string): Observable; refreshList(): void; createTicket(ticket: ZendeskTicket): Observable<{ ticket: ZendeskTicket; audit: ZendeskAudit; }>; updateTicket(ticketId: number, ticket: ZendeskTicket): Observable<{ ticket: ZendeskTicket; audit: ZendeskAudit; }>; getAudits(ticketId: number, sortBy?: string, sortOrder?: string): Observable; getTicketComments(ticketId: number, pageSize?: number, page?: number, sortBy?: string, sortOrder?: string): Observable; getUsers(roles?: ZendeskUserRole[], pageSize?: number, page?: number): Observable; getUser(userId: number): Observable; uploadAttachment(file: File): Observable; removeAttachment(uploadToken: string): Observable; mergeTickets(sourceId: number, targetId: number, data: MergeTicketData): Observable; getJobStatus(jobStatusId: string): Observable; assignAgentToTicket(ticket: ZendeskTicket, agentEmail: string): Observable; private searchTickets; }