import { ID } from '../common'; type ClassIDPlus0SubClass = [thisClassId: string]; type ClassIDPlus1SubClass = [thisClassId: string, parentClassId: string]; type ClassIDPlus2SubClass = [ thisClassId: string, parentClassId: string, greatParentClassId: string ]; type ClassIDPlus3SubClass = [ thisClassId: string, parentClassId: string, greatParentClassId: string, greatGreatParentClassId: string ]; type ClassIDPlus4SubClass = [ thisClassId: string, parentClassId: string, greatParentClassId: string, greatGreatParentClassId: string, greatGreatGreatParentClassId: string ]; /** * Example usage: * Root level class ID = ["thisClassId"] * ID of a class with one parent class, 1 level nesting = ["parentClassId", "thisClassId"]; * ID of a class which has a parent and a grand parent, 2 level nesting = ["grandParentClassId", "parentClassId", "thisClassId"] * and so on.. */ export type NestedClassID = ClassIDPlus0SubClass | ClassIDPlus1SubClass | ClassIDPlus2SubClass | ClassIDPlus3SubClass | ClassIDPlus4SubClass; export declare function getNestedClassIDStr(nestedClassId: NestedClassID): `${string}-${string}-${string}-${string}-${string}`; export interface ClassesViewParentID { sectionId: ID; parentClassId?: NestedClassID; } export interface NestedClassIDHierarchy { children: NestedClassIDHierarchy[]; id: NestedClassID; } export interface NestedClassHierarchyForReport { accountingClassNumber: string | undefined; children: NestedClassHierarchyForReport[]; classId: NestedClassID; className: string; fullyQualifiedAccountingClassName: string; hasSiblings: boolean; qboId: ID | undefined; isDeleted?: boolean; } export {};