import { Amount, CompanyManagementUserRole, CompanyView, CustomerSatisfactionInfo, ID, User, UserRole, ZeniDate } from '@zeniai/client-epic-state';
import { CockpitNoteData } from '../../../commentsAndNotes/utils/CollaborationTypes';
import { ZeniDatePickerValue } from '../../../common/zeniDatePicker/ZeniDatePickerField';
import { StatusPickerFieldValue } from '../../common/statusPicker/StatusPickerField';
import { UserMultiSelectFieldValue } from '../../common/userMultiSelect/UserMultiSelectField';
import { ChipLabel } from '../chipsList/ChipsList';
import { GroupPickerFieldValue } from '../groupPicker/GroupPickerField';
import { AllManagementTabKeys } from '../managementListView/managementHeaderItemsData';
import { TaxStatusPickerValue } from '../taxStatusPicker/TaxStatusPickerField';
export interface Props {
    allUsers: User[];
    companiesExcludedFromMonthEndReport: string[];
    companyNameSticky: boolean;
    companyView: CompanyView;
    hasMonthEndEmailHistory: boolean;
    isExpenseAutomationEnabledForUser: boolean;
    targetElementFromNavigation: HTMLElement | null;
    totalHeight: number;
    addThreadRequestThreadId?: ID;
    loggedInUserRole?: UserRole;
    showDetailsPageLink?: boolean;
    changeHandlers: (companyId: ID, formData: Partial<UpdatableCompanyManagementRowFormFields>) => void;
    onCompanyNameClicked: (company: CompanyView) => void;
    onPassportIconClicked: (company: CompanyView) => void;
    resetTargetElementFromNavigation: () => void;
    setAddThreadRequestThreadId: (addThreadRequestThreadId?: ID) => void;
    setElementRef: (companyId: ID, columnKey: AllManagementTabKeys, ref: HTMLElement | null) => void;
    setNoteData: (noteData: CockpitNoteData) => void;
    showMonthEndReportHistoricData: (companyId: ID, reportSentDate: ZeniDate) => void;
    onMonthEndReportPageClick?: (company: CompanyView) => void;
    onTaskIconClicked?: (company: CompanyView) => void;
    onViewDetailsLinkClicked?: (parenId: ID) => void;
}
export interface CompanyManagementRowFormData extends UpdatableCompanyManagementRowFormData {
    companyId: ID;
    companyName: string;
    parentSubsidiaryInfo: {
        parentInfo?: {
            subsidiaries: {
                companyId: ID;
                name: string;
            }[];
        };
        subsidiaryInfo?: {
            parentCompanyId: ID;
            parentCompanyName: string;
            siblings: {
                companyId: ID;
                name: string;
            }[];
        };
    } | undefined;
    plansAndAddons: ChipLabel[];
    annualRecurringRevenue?: Amount;
    monthlyRecurringRevenue?: Amount;
}
export interface UpdatableCompanyManagementRowFormData extends UpdatableCompanyManagementRowFormFields {
    apAnalyst: UserMultiSelectFieldValue;
    controller: UserMultiSelectFieldValue;
    customerSuccessManager: UserMultiSelectFieldValue;
    preparer: UserMultiSelectFieldValue;
    reviewer: UserMultiSelectFieldValue;
    taxLead: UserMultiSelectFieldValue;
}
export interface UpdatableCompanyManagementRowFormFields {
    customerSatisfaction: CustomerSatisfactionInfo;
    group: GroupPickerFieldValue;
    reportSent: ZeniDatePickerValue;
    status: StatusPickerFieldValue;
    taxStatus: TaxStatusPickerValue;
    users?: CompanyManagementUserRole[];
}
declare const CockpitManagementRow: ({ companyView, hasMonthEndEmailHistory, companiesExcludedFromMonthEndReport, showDetailsPageLink, allUsers, loggedInUserRole, companyNameSticky, totalHeight, isExpenseAutomationEnabledForUser, addThreadRequestThreadId, targetElementFromNavigation, resetTargetElementFromNavigation, setNoteData, setElementRef, setAddThreadRequestThreadId, changeHandlers, onCompanyNameClicked, onPassportIconClicked, onTaskIconClicked, onViewDetailsLinkClicked, onMonthEndReportPageClick, showMonthEndReportHistoricData, }: Props) => import("react/jsx-runtime").JSX.Element;
export default CockpitManagementRow;
