import { ID } from '../common'; type AccountIDPlus0SubAccount = [thisAccountId: string]; type AccountIDPlus1SubAccount = [ thisAccountId: string, parentAccountId: string ]; type AccountIDPlus2SubAccount = [ thisAccountId: string, parentAccountId: string, greatParentAccountId: string ]; type AccountIDPlus3SubAccount = [ thisAccountId: string, parentAccountId: string, greatParentAccountId: string, greatGreatParentAccountId: string ]; type AccountIDPlus4SubAccount = [ thisAccountId: string, parentAccountId: string, greatParentAccountId: string, greatGreatParentAccountId: string, greatGreatGreatParentAccountId: string ]; /** * Example usage: * Root level account ID = ["thisAccountId"] * ID of a account with one parent account, 1 level nesting = ["parentAccountId", "thisAccountId"]; * ID of a account which has a parent and a grand parent, 2 level nesting = ["grandParentAccountId", "parentAccountId", "thisAccountId"] * and so on.. */ export type NestedAccountID = AccountIDPlus0SubAccount | AccountIDPlus1SubAccount | AccountIDPlus2SubAccount | AccountIDPlus3SubAccount | AccountIDPlus4SubAccount; export declare function getNestedAccountIDStr(nestedAccountId: NestedAccountID): `${string}-${string}-${string}-${string}-${string}`; export declare const isEqualNestedAccountId: (nestedAccountIdA: NestedAccountID, nestedAccountIdB: NestedAccountID) => boolean; export interface AccountsViewParentID { sectionId: ID; parentAccountId?: NestedAccountID; } export interface NestedAccountIDHierarchy { children: NestedAccountIDHierarchy[]; id: NestedAccountID; } export interface NestedAccountHierarchyForReport { accountId: NestedAccountID; accountName: string; children: NestedAccountHierarchyForReport[]; hasSiblings: boolean; qboId: ID | undefined; coaId?: ID; isBillEditableCoaAccountType?: boolean; isDeleted?: boolean; } export {};