import type { PlanModel, UserModel } from '../../../Store/User/user-context.helper';

interface DashboardSelection {
	yourFunding: boolean;
	profitabilityTrends: boolean;
	netDebt: boolean;
	debtToEquity: boolean;
	directLabourEfficiencyRatio: boolean;
	ebitOperatingProfit: boolean;
	yourGrowthStrategy: boolean;
	marginalCashflowImpactOfVolume: boolean;
	revenueGrowthVsDirectCostGrowth: boolean;
	workingCapitalTimeline: boolean;
	workingCapital: boolean;
	returnOnInvestedCapital: boolean;
	returnOnTotalAssets: boolean;
	returnOnEquity: boolean;
	operatingCashProfit: boolean;
	operatingCashFlow: boolean;
	netProfitPreTax: boolean;
	yourMoneyForGrowthSurplusShortfall: boolean;
	netCashFlow: boolean;
	theMoneyMultiplierEffectOnNetCashFlowAndEbit: boolean;
	moneyMultiplierEffectOnYourBusinessValue: boolean;
}

export interface CompanyDbModel {
	_id: string;
	branding?: {
		colorHexId?: string;
		logo?: string;
	};
	cognito_username: string;
	company_id: string;
	company_name: string;
	company_address?: string;
	currency_symbol:
		| string
		| {
				value: string;
				label: string;
		  };
	gdpr: boolean;
	industry_id: number;
	industry_type: string;
	company_reg_number: string;
	record_created: string;
	record_updated: string;
	plan: PlanModel;
	downgradePlan?: {
		downgrade_to_plan: number;
		downgrade_on_date: 'string';
	};
	myCompany?: boolean;
	owner?: UserModel;
	role?: string;
	permissions?: string;
	prefix?: string;
	phone_number?: string;
	dashboardSelection?: DashboardSelection;
	invite_status?: 'revoked' | 'accepted';
}
