import { ClientAnalytics } from '@zeniai/client-analytics';
import { AuthParams, CompanyOfficerType, FilePayload, ID, PlaidLinkTokenType, RemiSetupApproverView, RemiSetupView, ZeniAccountsPromoConfig } from '@zeniai/client-epic-state';
import { SetUpAccountSectionFormData } from '../../../commonSetUp/sections/spendManagementSetupAccountSection/SpendMgmtSetupAccountSection';
import { DisableMode } from '../../../formElements/common/common';
import { MileageSectionFormData } from './sections/MileageSection';
declare const remiAccountSectionId = "remiAccount";
declare const remiMileageSectionId = "remiMileage";
export interface Props {
    accountsPromoConfig: ZeniAccountsPromoConfig;
    analytics: ClientAnalytics;
    authParams: AuthParams;
    connectedAccountProvider: string;
    filesEndPoint: string;
    isAccountsEnabled: boolean;
    meetingUrl: string;
    remiApprovalView: RemiSetupApproverView;
    remiSetupView: RemiSetupView;
    isDisabled?: DisableMode;
    onBackClick: () => void;
    onEnableRemiClick: () => void;
    onEnableRemiSuccess: () => void;
    onEstablishConnectionClick: (publicToken: ID, linkTokenType?: PlaidLinkTokenType) => void;
    onEstablishConnectionSuccess: () => void;
    onFetchLinkTokenClick: (plaidLinkTokenType: PlaidLinkTokenType, paymentAccountId?: ID) => void;
    onSignUpClick: () => void;
    onUpdateAccountClick: (accountId: ID, paymentAccountId: ID, accountType: string) => void;
    onUpdatePaymentAccountLoginStatus: (paymentAccountId: ID, plaidLinkTokenType: PlaidLinkTokenType) => void;
    onUpdatePaymentAccountStatus: (verificationStatusCode: string, paymentAccountId: ID, plaidLinkTokenType: PlaidLinkTokenType) => void;
    onUpdatePrimaryFundingAccount: (accountId: ID, accountType: string) => void;
    updateMileageDetails: (formData: MileageSectionFormData) => void;
    onBusinessVerificationSectionClick?: () => void;
    onClickMenuIcon?: () => void;
    onCompanyOfficerUpdated?: (officerType: CompanyOfficerType, fileIds: ID[]) => void;
    onDeleteFile?: (fileId: ID) => void;
    onEditFileName?: (fileId: ID, name: string) => void;
    onSaveMileageClick?: (mileageAmountInDenomination: number) => void;
    onSendForVerificationClick?: (officerType: CompanyOfficerType) => void;
    onSetupACHPaymentsSectionClick?: () => void;
    onSetupApprovalRulesSectionClick?: () => void;
    updateFilesEntity?: (files: FilePayload[]) => void;
}
declare const RemiSetupPage: ({ remiSetupView, isDisabled, remiApprovalView, connectedAccountProvider, isAccountsEnabled, filesEndPoint, authParams, meetingUrl, analytics, accountsPromoConfig, onBackClick, onBusinessVerificationSectionClick, onSetupApprovalRulesSectionClick, onFetchLinkTokenClick, onEstablishConnectionClick, onEstablishConnectionSuccess, updateMileageDetails, onUpdateAccountClick, onUpdatePrimaryFundingAccount, onUpdatePaymentAccountStatus, onUpdatePaymentAccountLoginStatus, onEnableRemiClick, onEnableRemiSuccess, onSaveMileageClick, onClickMenuIcon, onEditFileName, onDeleteFile, updateFilesEntity, onCompanyOfficerUpdated, onSendForVerificationClick, onSignUpClick, }: Props) => import("react/jsx-runtime").JSX.Element;
/**
 * Form Data Type
 */
export interface FormData {
    [remiAccountSectionId]: SetUpAccountSectionFormData;
    [remiMileageSectionId]: MileageSectionFormData;
}
export declare const uniqueName: (sectionId: ID) => `${string}_form`;
export default RemiSetupPage;
