import { FundAllocationOption, FundData, ID, PlaidConnectionDetails, PlaidLinkTokenType, TreasuryTransferMoneyLocalData, TreasuryTransferMoneySelectorView } from '@zeniai/client-epic-state';
import { SingleSelectPickerFieldValue } from '../../formElements/singleSelectPickerField/SingleSelectPickerField';
declare const transferSectionId = "transferDetails";
export declare const transferDetailPage = "transferDetailPage";
export interface TransferFormData {
    transferFrom: SingleSelectPickerFieldValue;
    transferTo: SingleSelectPickerFieldValue;
    amount?: number;
}
type FormDataKeys = keyof TransferFormData;
export interface FormData {
    [transferSectionId]: TransferFormData;
}
declare const uniqueName: (sectionId: string, key: FormDataKeys) => `${string}.amount` | `${string}.transferTo` | `${string}.transferFrom`;
export type FormDataKeyUniqueNames = ReturnType<typeof uniqueName>;
export declare const uniqueFormName: (sectionId: ID) => `${string}_form`;
export interface TreasuryTransferFormProp {
    fundDetails: FundData[];
    isFirstTransfer: boolean;
    maxInsuredAmount: number;
    plaidConnectionDetails: PlaidConnectionDetails;
    portfolioAllocation: FundAllocationOption;
    transferDetails: TreasuryTransferMoneySelectorView;
    isOnSetup?: boolean;
    onReviewClick: () => void;
    onSaveChangesToLocalStore: (localData: TreasuryTransferMoneyLocalData) => void;
    onEstablishConnectionClick?: (publicToken: ID) => void;
    onFetchLinkTokenClick?: (plaidLinkTokenType: PlaidLinkTokenType) => void;
}
declare function TreasuryTransferForm({ transferDetails, fundDetails, portfolioAllocation, isFirstTransfer, maxInsuredAmount, plaidConnectionDetails, isOnSetup, onSaveChangesToLocalStore, onReviewClick, onEstablishConnectionClick, onFetchLinkTokenClick, }: Readonly<TreasuryTransferFormProp>): import("react/jsx-runtime").JSX.Element;
export default TreasuryTransferForm;
