import type { TicketStatus } from '@/services/api/ticketApi';
interface Attachment {
    id: string;
    fileName: string;
    contentType?: string;
    fileSize: number;
    createdAt: string;
}
interface Activity {
    action: string;
    newValue?: string | null;
    createdAt: string;
}
interface ClientContext {
    sourceUrl?: string;
    browser?: {
        name: string;
        version: string;
        language?: string;
    };
    os?: {
        name: string;
        version: string;
    };
    device?: {
        type: string;
        screenResolution?: string;
    };
    recentErrors?: Array<{
        message: string;
        stack?: string;
        timestamp?: string;
        component?: string;
    }>;
}
interface TicketData {
    id: string;
    ticketNumber: string;
    title: string;
    description: string;
    type: string;
    status: string;
    priority: string;
    createdByName?: string;
    assignedToName?: string;
    assignees?: Array<{
        userId: string;
        fullName: string;
        isPrimary: boolean;
        assignedViaGroupName?: string;
    }>;
    resolution?: string;
    resolvedAt?: string;
    closedAt?: string;
    createdAt: string;
    updatedAt?: string;
    clientContext?: ClientContext;
}
type SidebarLayout = 'compact' | 'grid';
interface TicketSidebarProps {
    ticket: TicketData;
    attachments: Attachment[];
    activities: Activity[];
    isSupport: boolean;
    saving?: boolean;
    uploading?: boolean;
    isReadOnly?: boolean;
    layout?: SidebarLayout;
    onAssign?: () => void;
    onStatusChange?: (status: TicketStatus) => void;
    onResolve?: () => void;
    onCloseTicket?: () => void;
    onReopen?: () => void;
    onEscalate?: () => void;
    onDownloadAttachment: (attachment: Attachment) => void;
    onUploadAttachment?: (file: File) => Promise<void>;
    getAttachmentUrl: (attachment: Attachment) => string;
}
export declare function TicketSidebar({ ticket, attachments, activities, isSupport, saving, uploading, layout, onAssign, onStatusChange, onResolve, onCloseTicket, onReopen, onEscalate, onDownloadAttachment, onUploadAttachment, getAttachmentUrl, }: TicketSidebarProps): import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=TicketSidebar.d.ts.map