import { AllowedValueWithID } from '../../commonStateTypes/allowedValue'; import { Amount } from '../../commonStateTypes/amount'; import { FetchState, ID } from '../../commonStateTypes/common'; import { SelectorView } from '../../commonStateTypes/viewAndReport/viewAndReport'; import { Company } from '../../entity/company/companyStateTypes'; import { CompanyHealthMetric, CompanyRunway } from '../../entity/companyHealthMetric/companyHealthMetricState'; import { User } from '../../entity/user/userState'; import { ZeniAPIStatus } from '../../responsePayload'; import { RootState } from '../../rootStateTypes'; import { CompanyHealthMetricsLocalData, CompanyHealthViewUIState, EditCompanyHealthMetrics } from './companyHealthMetricView'; export declare const ALL_FREQUENCY_LABEL_TYPE: readonly ["Low", "Very Low", "Mid", "High", "Very High"]; declare const toFrequencyLabelType: (v: string) => "High" | "Low" | "Very Low" | "Mid" | "Very High"; type FrequencyLabelType = ReturnType; declare const toFrequencyValueType: (v: string) => "high" | "low" | "very_low" | "mid" | "very_high"; type FrequencyValueType = ReturnType; declare const toProductServiceKeyType: (v: string) => "reimbursement" | "cards" | "accounts" | "billpay" | "zeni_tax_plan" | "cfo_plan" | "payroll_manager_service_plan"; export type ProductServiceKey = ReturnType; export type CompanyHealthMetricDropDownOption = { label: FrequencyLabelType; value: FrequencyValueType; }; export interface CompanyHealthMetricViewSelector extends SelectorView { companies: CompanyDetailWithHealthMetric[]; companyHealthMetricDropDownOptions: CompanyHealthMetricDropDownOption[]; selectedCompanyDetail: CompanyDetailWithHealthMetric | undefined; selectedCompanyId: ID | undefined; uiState: CompanyHealthViewUIState; unfilteredCompanyCount: number; zeniUsers: { fetchState: FetchState; values: User[]; error?: ZeniAPIStatus; }; localFormDataAndStatusByCompanyId?: EditCompanyHealthMetrics; } export interface CompanyDetailWithHealthMetric extends Company { companyHealthMetric: CompanyHealthMetric; controllers: User[]; noOfProductVerticalsEnabled: number; companyGroup?: AllowedValueWithID[]; monthlyRecurringRevenue?: Amount; } export interface ProductServices { isEnabled: boolean; productServiceKey: ProductServiceKey; } export declare const companyHealthMetricDropDownOptions: CompanyHealthMetricDropDownOption[]; export declare const getCompanyHealthMetricView: (state: RootState) => CompanyHealthMetricViewSelector; export declare const hasCompanyHealthMetricFormFieldChanged: (entityData?: CompanyHealthMetric, formData?: CompanyHealthMetricsLocalData) => boolean; export declare const isCompanyRunwayInfinite: (runway: CompanyRunway | undefined) => boolean; export {};