import * as signalR from '@microsoft/signalr';
export interface TicketCommentDto {
    id: string;
    ticketId: string;
    userName: string;
    content: string;
    isInternal: boolean;
    isEdited: boolean;
    createdAt: string;
}
export interface TicketUpdateDto {
    ticketId: string;
    updateType: string;
    oldValue?: string;
    newValue?: string;
    changedByName?: string;
    changedAt: string;
}
interface UseTicketSignalROptions {
    ticketId: string | undefined;
    onCommentAdded?: (comment: TicketCommentDto) => void;
    onTicketUpdated?: (update: TicketUpdateDto) => void;
    onConnectionStateChange?: (state: signalR.HubConnectionState) => void;
}
export declare function useTicketSignalR(options: UseTicketSignalROptions): {
    connectionState: signalR.HubConnectionState;
    isConnected: boolean;
    joinTicket: (id: string) => Promise<void>;
    leaveTicket: (id: string) => Promise<void>;
};
export {};
//# sourceMappingURL=useTicketSignalR.d.ts.map