/// <reference types="react" />
import { AccountIdentifiers } from "../types/AccountIdentifiers";
import { AccountInfo } from "@azure/msal-browser";
declare type FaaCFunction = <T>(args: T) => React.ReactNode;
export declare function getChildrenOrFunction<T>(children: React.ReactNode | FaaCFunction, args: T): React.ReactNode;
declare type SetDifference<A, B> = A extends B ? never : A;
declare type SetComplement<A, A1 extends A> = SetDifference<A, A1>;
export declare type Subtract<T extends T1, T1 extends object> = Pick<T, SetComplement<keyof T, keyof T1>>;
/**
 * Helper function to determine whether 2 arrays are equal
 * Used to avoid unnecessary state updates
 * @param arrayA
 * @param arrayB
 */
export declare function accountArraysAreEqual(arrayA: Array<AccountIdentifiers>, arrayB: Array<AccountIdentifiers>): boolean;
export declare function getAccountByIdentifiers(allAccounts: AccountInfo[], accountIdentifiers: AccountIdentifiers): AccountInfo | null;
export {};
