import type { JSONRefObject } from '../../data/JSONRefObject'; import { type CommonCalculatorProps } from '../../ui-kit/Calculator/CalculatorProps'; import { type LinkButtonContent } from '../../ui-kit/LinkButton/LinkButtonContent'; import { type Option } from '../../ui-kit/Select/Option'; import { type UniBlockContent } from '../../UniBlock/UniBlockProps'; /** * @title Калькулятор РКО */ export declare type CalculatorRkoContent = UniBlockContent & CommonCalculatorProps & { calcSource?: JSONRefObject & RkoCalculatorData; clientType?: ClientType; /** @title Ссылка для кнопки «Открыть счёт» */ openDepositBtnLink?: string; }; export interface RkoCalcValueProps { transferLegalCount: number; flTransferSum: number; cashInSum: number; cashOutSum: number; } export declare type RkoCalculatorUserInputParams = RkoCalcValueProps; export declare type CommissionType = 'fixedSum' | 'fixedAmount' | 'percent'; /** * @title Тип клиента * @default "ЮЛ / ИП" * @enumNames ["ЮЛ / ИП", "Агро"] */ export declare type ClientType = 'standard' | 'agro'; export interface LimitParamsProps extends Pick { clientType: ClientType; commissionType: CommissionType; commissionValue: number; } export declare type TariffProps = { tariffName: string; tariffDesc: string; clientType: string; accountServiceFee: number; }; export interface RkoCalcLimits extends MinMaxTransferLegalCountProps, MinMaxFlTransferSumProps, MinMaxCashInSumProps, MinMaxCashOutSumProps { } export declare type MinMaxTransferLegalCountProps = { minTransferLegalCount: number; maxTransferLegalCount: number; }; export declare type MinMaxFlTransferSumProps = { minFlTransferSum: number; maxFlTransferSum: number; }; export declare type MinMaxCashInSumProps = { minCashInSum: number; maxCashInSum: number; }; export declare type MinMaxCashOutSumProps = { minCashOutSum: number; maxCashOutSum: number; }; export declare type RkoCalculatorSourceBookTariffsParams = Omit & Pick; export declare type RkoCalculatorCommissionType = LimitParamsProps; export interface RkoCalculatorSourceBookCommissionsParams { transferLegalCountCommission: (RkoCalculatorCommissionType & MinMaxTransferLegalCountProps)[]; flTransferSumCommission: (RkoCalculatorCommissionType & MinMaxFlTransferSumProps)[]; cashOutSumCommission: (RkoCalculatorCommissionType & MinMaxCashOutSumProps)[]; cashInSumCommission: (RkoCalculatorCommissionType & MinMaxCashInSumProps)[]; } export declare type RkoCalculatorRowsData = { tariffs?: RkoCalculatorSourceBookTariffsParams[]; commissions?: RkoCalculatorSourceBookCommissionsParams; currency?: Option; buttons?: LinkButtonContent[]; }; export declare type RkoCalculatorData = { rows?: RkoCalculatorRowsData[]; }; export interface RkoCalculatorParams extends RkoCalculatorUserInputParams, RkoCalcLimits { }