import { ClientAnalytics } from '@zeniai/client-analytics';
import { BillApprovalType, BillDetailViewSelector, BillStageCodeType, ID, LoggedInUser, OutsideZeniPaymentLocalData, RealTimeApprovalDetailLocalData, TenantView } from '@zeniai/client-epic-state';
import { RequestToOpenThreadType } from '../../../commentsAndNotes/utils/ThreadsProvider';
export interface BillDetailPageProps {
    analytics: ClientAnalytics;
    billDetails: BillDetailViewSelector;
    currentTenant: TenantView;
    hasZeniAssistAccess: boolean;
    isAccountingClassesEnabled: boolean;
    isAdmin: boolean;
    isBillPayCommentingEnabled: boolean;
    isDetectInsufficientFundsEnabled: boolean;
    isInternationalPaymentShaVsOurEnabled: boolean;
    isRealTimeApprovalEnabled: boolean;
    isShowDeletedBillsEnabled: boolean;
    isZeniUser: boolean;
    showApproveRejectBtns: boolean;
    showMarkAsPaidButtonToApprover: boolean;
    showMarkAsPaidButtonToCreator: boolean;
    signedInUser: LoggedInUser | undefined;
    initialOpenThreadRequest?: RequestToOpenThreadType;
    isAiCfoAccessEnabled?: boolean;
    approveOrRejectBill: ({ billId, type, description, }: {
        billId: ID;
        type: BillApprovalType;
        description?: string;
    }) => void;
    discardBillDetailsFromLocalStore: () => void;
    discardOutsideZeniPaymentData: () => void;
    onAttachmentClick: (billId: ID, billStageCode: BillStageCodeType) => void;
    onRefundPaymentClick: () => void;
    onRetryPaymentClick: () => void;
    onSaveRealTimeApprovals: (realTimeApprovalLocalData: RealTimeApprovalDetailLocalData) => void;
    redirectToBillsScreen: () => void;
    redirectToEditableBillScreen: (billId: ID) => void;
    saveBillDetails: (isMarkedForPaid: boolean, isApproverMarkingAsPaid: boolean, data: OutsideZeniPaymentLocalData) => void;
    updateEditRealTimeApproverClicked: (isEdit: boolean) => void;
    cancelAndDeleteBill?: (isRecurring: boolean, isDelete?: boolean) => void;
    deleteBill?: (isRecurring: boolean) => void;
    onAddNewRule?: () => void;
    onAskAiCfoClick?: () => void;
}
export interface PopUpDetails {
    description: string;
    primaryButtonText: string;
    secondaryButtonText: string;
    title: string;
}
declare const BillDetailPage: (props: BillDetailPageProps) => import("react/jsx-runtime").JSX.Element;
export default BillDetailPage;
