import { SortOrder } from '../../../commonStateTypes/selectorTypes/sortOrderTypes'; import { ZeniDate } from '../../../zeniDayJS'; import { SubscriptionViewSortKey } from '../../subscriptionView/types/subscriptionTypes'; import { CockpitDownloadTabsID, CockpitTabsFileType } from './cockpitTabsID'; export type FilterCategoryValueType = string | ZeniDate; export declare const toPortfolioSortKeyType: (v: string) => "expenses" | "runway" | "companyName" | "cashBalance" | "revenues" | "netIncome"; export declare const toManagementSortKeyType: (v: string) => "status" | "bookCloseDate" | "controller" | "preparer" | "reviewer" | "taxStatus" | "group" | "companyName" | "plans" | "monthlyRecurringRevenue" | "notes" | "task" | "productVerticals" | "realmId" | "customerSuccessManager" | "apAnalyst" | "reportSent" | "taxLead" | "annualRecurringRevenue" | "satisfaction"; export declare const toOnboardingSortKeyType: (v: string) => "companyName" | "notes" | "bankAccountLinked" | "qboLinked" | "identityVerified" | "businessVerified" | "groupCreated" | "customerCreated" | "enroller" | "invite" | "latestCreated"; export declare const toHealthSortKeyType: (v: string) => "controller" | "group" | "runway" | "companyName" | "monthlyRecurringRevenue" | "productVerticals" | "customerSuccessManager" | "issues" | "externalProductServiceExposure" | "companyEngagementMetricsUpdatedAt" | "churnProbability" | "netPromoterScore" | "customerSatisfactionScore" | "lastReportSent" | "subscriptionDate" | "renewalDate" | "dashboardLastSeen" | "lastEngagement"; export declare const toTaskManagerSortKeyType: (v: string) => "status" | "dueDate" | "name" | "taskName" | "priority" | "assignee" | "tags" | "createdBy"; export type PortfolioViewSortKey = ReturnType; export type ManagementViewSortKey = ReturnType; export type OnboardingViewSortKey = ReturnType; export type HealthViewSortKey = ReturnType; export type TaskManagerViewSortKey = ReturnType; export type AiAccountantFilterCategoryField = 'enrollmentStatus'; export type ManagementViewFilterCategoryField = 'controllerUserIds' | 'customerSuccessManagerUserIds' | 'preparerUserIds' | 'reviewerUserIds' | 'apAnalystUserIds' | 'taxLeadUserIds' | 'companyGroupId' | 'taxStatusCode' | 'statusCode' | 'plans' | 'productVerticals' | 'annualRecurringRevenue' | 'monthlyRecurringRevenue' | 'customerSatisfaction' | 'zeniSatisfaction'; export type SubscriptionViewFilterCategoryField = 'controllerUserIds' | 'statusCode' | 'recommendedActionCode' | 'subscriptionPlans' | 'subscriptionAddOns' | 'avg2MonthExpenses' | 'slabLowerLimit' | 'slabUpperLimit' | 'monthlyRecurringRevenue'; export type PortfolioViewFilterCategoryField = 'netBurnOrIncome' | 'cashPosition' | 'income' | 'expenses' | 'runway'; export type HealthMonitorViewFilterCategoryField = 'verticalProductServices' | 'runway' | 'netPromoterScore' | 'customerSatisfactionScore' | 'churnProbabilityPercentage' | 'controller' | 'customerSuccessManager' | 'lastReportSent' | 'subscriptionStartDate' | 'subscriptionRenewalDate' | 'externalProductServiceExposure' | 'companyEngagementMetricsUpdatedAt' | 'companyGroupId' | 'monthlyRecurringRevenue'; export type TaskManagerViewFilterCategoryField = 'assignees' | 'creationDate' | 'dueDate' | 'priority' | 'status' | 'company_id' | 'tag'; export interface CockpitFilterCategory { matchingOperator: 'equal' | 'not_equal'; values: FilterCategoryValueType[]; valuesCombinationOperator: 'ANY' | 'ALL'; field?: AiAccountantFilterCategoryField | ManagementViewFilterCategoryField | SubscriptionViewFilterCategoryField | PortfolioViewFilterCategoryField | HealthMonitorViewFilterCategoryField | TaskManagerViewFilterCategoryField; } /** Scope filter for cockpit Bird's-Eye View task lists. */ export type TaskGroupScope = 'internal' | 'external'; export interface CockpitFilters { categories?: CockpitFilterCategory[]; categoryCombinationOperator?: 'AND' | 'OR'; taskGroupScopes?: TaskGroupScope[]; } export declare const MANAGEMENT_STATUS_CODES: string[]; export declare const toManagementStatusCodeType: (v: string) => string; export type ManagementStatusCodeType = ReturnType; export declare const ALL_PRODUCT_VERTICALS: readonly ["bookkeeping", "billPay", "reimbursement", "tax", "payroll", "cfo"]; export declare const toProductVertical: (v: string) => "reimbursement" | "billPay" | "bookkeeping" | "tax" | "payroll" | "cfo"; export type ProductVertical = ReturnType; export declare const toProductVerticalStrict: (v: string | null | undefined) => ProductVertical | undefined; export interface FilterCombinationsByTabs { filters: CockpitFilters; filterText: string; sortKey: ManagementViewSortKey | PortfolioViewSortKey | SubscriptionViewSortKey | OnboardingViewSortKey | HealthViewSortKey; sortOrder: SortOrder; } export interface DownloadCockpitTabOptions { filterByTabs: Record; tabs: CockpitDownloadTabsID[]; tabsFileType: CockpitTabsFileType; timezone: string; } export type CategoryValueForCompanyType = string | string[] | ZeniDate | undefined;