import { default as React } from 'react';
import { ProjectBoardStyles, Comment, CaseUpdate, RawSeverityLevel, RawQueue, RawRegion, RawStatus, RawSubStatus, RawTopic, RawArticle, RawEmployee, RawProduct, RawService, TaskMeeting, NewMeetingData } from '../../types';
export interface InlineShowTaskProps {
    taskId: string;
    taskTitle: string;
    createdBy: string;
    description: string;
    comments: Comment[];
    caseUpdates: CaseUpdate[];
    customerAssigned: string;
    severity: string;
    schedulingQueue: string;
    region: string;
    status: string;
    subStatus: string;
    topics: string[];
    knowledgebaseArticles: string[];
    teamMemberAssigned: string;
    nextActionDate: string;
    currentUserName: string;
    productOrService: 'product' | 'service';
    productServiceName: string;
    productId: string;
    serviceId: string;
    onEdit: (updatedData: any) => void;
    onDelete: () => void;
    onComment: (text: string, taskId: string) => void;
    onEditComment: (commentId: string, newText: string) => void;
    onBack: () => void;
    associatedCompanyId?: string;
    associatedCompanyName?: string;
    companyInternalNotes?: string;
    onUpdateCompanyNotes?: (companyId: string, notes: string) => Promise<void> | void;
    associatedCustomerId?: string;
    associatedCustomerName?: string;
    customerInternalNotes?: string;
    onUpdateCustomerNotes?: (customerId: string, notes: string) => Promise<void> | void;
    severityOptions: RawSeverityLevel[];
    schedulingQueueOptions: RawQueue[];
    regionOptions: RawRegion[];
    statusOptions: RawStatus[];
    subStatusOptions: RawSubStatus[];
    topicOptions: RawTopic[];
    knowledgebaseArticleOptions: RawArticle[];
    teamMemberOptions: RawEmployee[];
    /** Raw products - only required for company variant (admin only has services) */
    rawProducts?: RawProduct[];
    rawServices: RawService[];
    /** Company employees (for resolving comment authors in company context) */
    employees?: Array<{
        _id: string;
        firstName: string;
        lastName: string;
    }>;
    /** Administrator users (for resolving comment authors in admin context) */
    administrators?: Array<{
        _id: string;
        firstName: string;
        lastName: string;
    }>;
    styles: ProjectBoardStyles;
    meetings: TaskMeeting[];
    onScheduleMeeting: (meetingData: NewMeetingData) => Promise<void> | void;
    onCancelMeeting: (meetingId: string, reason: string) => Promise<void> | void;
    onConfirmMeeting: (meetingId: string) => Promise<void> | void;
    onRescheduleMeeting: (meetingId: string, newStartTime: string, newEndTime: string) => Promise<void> | void;
    currentDate: Date;
    /** Whether this is being viewed by an employee (can accept/decline bookings) or a customer */
    variant?: 'employee' | 'customer';
    onCaseUpdate?: (taskId: string, caseUpdate: {
        updateType: CaseUpdate['updateType'];
        description: string;
        fieldChanged?: string;
        oldValue?: string;
        newValue?: string;
    }) => Promise<void> | void;
}
export declare const InlineShowTask: React.FC<InlineShowTaskProps>;
//# sourceMappingURL=inline.d.ts.map