import { Token, TokenObject, TokenTypes } from './token'; import { TokenAmount, TokenAmountObject, TokenAmountTypes, TokenAmounts, TokenAmountsTypes } from './token-amount'; export type Classifying = T extends TokenAmountsTypes ? TokenAmounts : T extends TokenAmountTypes ? TokenAmount : T extends TokenTypes ? Token : T extends Array ? U extends undefined ? any[] : Classifying[] : T extends object ? { [K in keyof T]: Classifying; } : T; export type Declasifying = T extends TokenAmounts ? TokenAmountObject[] : T extends TokenAmount ? TokenAmountObject : T extends Token ? TokenObject : T extends Array ? U extends undefined ? any[] : Declasifying[] : T extends object ? { [K in keyof T]: Declasifying; } : T; export declare function classifying | any[] = any>(fields: T): Classifying;