import { AuthParams, AutoTransferRule, AutoTransferRuleLocalData, AutoTransferRuleType, DepositAccountListSelectorView, FundingAccount, ReviewTransferDetail, TenantView, TreasuryAccount, ZeniAccountsConfigSelectorView } from '@zeniai/client-epic-state';
import { SingleSelectPickerFieldValue } from '../../formElements/singleSelectPickerField/SingleSelectPickerField';
declare const createRuleSectionId = "autoTransferRuleCreateSection";
export interface AllocateRowData {
    account: SingleSelectPickerFieldValue;
    percent: number | undefined;
}
export interface createRuleSectionFormData {
    destinationAccount: SingleSelectPickerFieldValue;
    frequency: SingleSelectPickerFieldValue;
    ruleType: AutoTransferRuleType;
    sourceAccount: SingleSelectPickerFieldValue;
    allocateRows?: AllocateRowData[];
    amount?: number;
}
export interface AutoTransferRuleFormData {
    [createRuleSectionId]: createRuleSectionFormData;
}
export interface CreateAutoTransferRuleDrawerProps {
    createRuleType: AutoTransferRuleType;
    existingRules: AutoTransferRule[];
    open: boolean;
    transferLimit: number;
    transferMoneyParties: FundingAccount[];
    addLinkButton?: boolean;
    authParams?: AuthParams;
    autoTransferReviewDetail?: ReviewTransferDetail;
    currentTenant?: TenantView;
    depositAccountListView?: DepositAccountListSelectorView;
    downloadAccountDetailEndPoint?: string;
    editingRule?: AutoTransferRule;
    formLocalData?: AutoTransferRuleLocalData;
    includeTreasuryOption?: boolean;
    treasuryAccount?: TreasuryAccount;
    zeniAccountsConfigDetail?: ZeniAccountsConfigSelectorView;
    onClose: () => void;
    onReviewClick: (isTransferLimitExceeded: boolean) => void;
    onUpdateRuleLocalData: (localData: AutoTransferRuleLocalData, ruleId?: string) => void;
    onAddNewAccount?: (event: React.ChangeEvent<HTMLInputElement>) => void;
}
export declare function CreateAutoTransferRuleDrawer({ open, includeTreasuryOption, transferLimit, onAddNewAccount, treasuryAccount, editingRule, formLocalData, createRuleType, transferMoneyParties, onClose, onReviewClick, onUpdateRuleLocalData, authParams, autoTransferReviewDetail, currentTenant, depositAccountListView, downloadAccountDetailEndPoint, zeniAccountsConfigDetail, existingRules, }: CreateAutoTransferRuleDrawerProps): import("react/jsx-runtime").JSX.Element | null;
export {};
