/// <reference types="react" />
import { Account, Admin, User } from '@parlor/common';
import { ITicket } from '@parlor/pages/ticket/tickets.types';
export type TicketProps = {
    account?: Account;
    comments?: number;
    createdBy?: Admin;
    createdDate?: string;
    created_at: string;
    description?: string;
    externalIDs?: ITicket.SidebarFormValues['externalIDs'];
    icon?: JSX.Element;
    id: string;
    internalNotes?: number;
    notes?: number;
    number?: number;
    owner?: Admin;
    priority?: string;
    priorityLevel?: string;
    seen?: boolean;
    status?: string;
    subject?: string;
    ticketKey?: string;
    user?: User & {
        avatar: string;
    };
};
export type TicketItemProp<T extends TicketProps = TicketProps> = {
    [key: string]: any;
    className?: string;
    /**
     * Ticket is selected
     */
    isSelected?: boolean;
    /**
     * Ticket on delete
     */
    onDelete?: (ticket: T) => void;
    /**
     * Ticket on edit
     */
    onEdit?: (ticket: T) => void;
    /**
     * Ticket on select item
     */
    onSelect?: (ticket: T) => void;
    /**
     * Ticket properties direction
     */
    propertiesDirection?: 'vertical' | 'horizontal';
    /**
     * Ticket variation
     */
    ticket?: T;
    /**
     * Ticket variation
     */
    variation?: 'list' | 'timeline';
};
export declare const TicketItemInner: <T extends TicketProps = TicketProps>({ className, onDelete, onEdit, variation, propertiesDirection, isSelected, onSelect, ticket, ...props }: TicketItemProp<T>) => JSX.Element;
export declare const TicketItem: <T extends TicketProps = TicketProps>({ className, onDelete, onEdit, variation, propertiesDirection, isSelected, onSelect, ticket, ...props }: TicketItemProp<T>) => JSX.Element;
