export interface Ticket { id: number; url: string; subject: string; description: string; status: string; priority: string | null; created_at: string; updated_at: string; requester_id: number; assignee_id: number | null; organization_id: number | null; group_id: number | null; tags: string[]; custom_fields: Array<{ id: number; value: string | number | boolean | null; }>; [key: string]: unknown; } export interface SlimComment { id: number; type: string; author_id: number; body: string; html_body: string; plain_body: string; public: boolean; created_at: string; [key: string]: unknown; } export interface User { id: number; name: string; email: string; role: string; [key: string]: unknown; } export interface SearchResults { results: Array>; count: number; next_page: string | null; previous_page: string | null; } export interface TicketResult { ticket: Ticket; comments?: SlimComment[]; requester?: User; assignee?: User; } export declare function getTicket(ticketId: number, signal?: AbortSignal): Promise<{ ticket: Ticket; }>; export declare function getTicketComments(ticketId: number, signal?: AbortSignal): Promise<{ comments: SlimComment[]; }>; export declare function getUser(userId: number, signal?: AbortSignal): Promise<{ user: User; }>; export declare function searchTickets(query: string, signal?: AbortSignal): Promise; export declare function getMe(signal?: AbortSignal): Promise<{ user: User; }>; export declare function getTicketFull(ticketId: number, signal?: AbortSignal): Promise;