import { Event } from '@zeniai/client-analytics';
import { Amount, Approvers, BillPayInfo, BillTab, BillTransaction, BillTransactionView, BillsSubTabType, CardStatusCodeType, ChargeCardTransactionStatus, ChargeCardTransactionStatusCode, CompanyInfo, DepositTransactionStatus, DepositTransactionStatusCode, FundingAccount, ReimbursementView, RemiSubTabType, RemiTabType, SpendManagementEntityType, User, ZeniDate } from '@zeniai/client-epic-state';
import { ZeniThemeColor } from '../../../designSystem/zeniThemeColors';
export declare const getBillPayAdditionalInfo: (tran: BillTransaction, selectedTab: BillTab) => AdditionalInfo[];
export declare const getReportTitleAdditionalInfo: (isAdmin: boolean, submittedBy?: User, hasZeniFinopsRoles?: boolean) => User | undefined;
export declare const getTransactionStatus: (status: DepositTransactionStatus | undefined, theme: ZeniThemeColor) => TransactionStatusMap | undefined;
export declare const getChargeCardTransactionStatus: (status: ChargeCardTransactionStatus, theme: ZeniThemeColor) => ChargeCardTransactionStatusMap;
export declare const getBillPayTagStatus: (billPayInfo: BillPayInfo, currentTab: BillTab, isShowDeletedBillsEnabled: boolean, isDeleted: boolean, theme: ZeniThemeColor, dueDate?: ZeniDate) => TagStatus | undefined;
export declare const getRemiTagStatus: (tran: ReimbursementView, currentTab: RemiTabType, isShowDeletedReimbursementEnabled: boolean, theme: ZeniThemeColor) => TagStatus | undefined;
export declare const getEventForTab: (currentTab: BillTab | RemiTabType, currentSubTab: BillsSubTabType | RemiSubTabType, entity: SpendManagementEntityType) => Event.billPayDrafts | Event.billPayDraftsOverdue | Event.billPayApprovals | Event.billPayApprovalsAwaitingApproval | Event.billPayApprovalsAwaitingMyApproval | Event.billPayApprovalsOverdue | Event.billPayApprovalsRejected | Event.billPayApprovalsDeleted | Event.billPayScheduled | Event.billPayScheduledFailed | Event.billPayScheduledCancelled | Event.billPayScheduledDeleted | Event.billPayPaid | Event.billPayPaidACH | Event.billPayPaidWire | Event.billPayPaidDeleted | Event.billPayPaidOffline | Event.reimbursementDrafts | Event.reimbursementMyDrafts | Event.reimbursementApprovals | Event.reimbursementApprovalsAwaitingApproval | Event.reimbursementApprovalsAwaitingMyApproval | Event.reimbursementApprovalsRejected | Event.reimbursementApprovalsDeleted | Event.reimbursementScheduled | Event.reimbursementScheduledFailed | Event.reimbursementScheduledCancelled | Event.reimbursementScheduledDeleted | Event.reimbursementPaid | Event.reimbursementPaidACH | Event.reimbursementPaidDeleted | null;
export declare const getSpendManagementDeletionInfo: (transaction: BillTransactionView | ReimbursementView, currentTab: RemiTabType | BillTab) => string | undefined;
export declare const getSpendManagementApprovers: (transaction: ReimbursementView | BillTransactionView, currentTab: RemiTabType | BillTab) => Approvers | undefined;
export declare const getApproversNames: (approvers?: Approvers) => string[];
export declare const getCreatorUserName: (user?: User) => string[];
export declare const getRowDate: (reimbursement: ReimbursementView, currentTab: RemiTabType) => string;
export declare const getTagStatus: (tran: BillTransaction, theme: ZeniThemeColor) => TagStatus | undefined;
export declare const getCompanyName: (companyInfo?: CompanyInfo) => string;
export interface AdditionalInfo {
    label: string;
    value: string;
}
export interface TagStatus {
    bgColor: string;
    borderColor: string;
    code: string;
    color: string;
    value: string;
}
interface TransactionStatusMap {
    code: DepositTransactionStatusCode;
    color: string;
    value: string;
}
interface ChargeCardTransactionStatusMap {
    code: ChargeCardTransactionStatusCode;
    color: string;
    value: string;
}
export interface TitleAndDescription {
    description: string;
    title: string;
}
export declare const getLowBalanceAdditionalInfo: (totalAmount: Amount, withdrawFrom?: FundingAccount, paymentDate?: ZeniDate) => string | undefined;
export declare const getCardTagStatus: (code: CardStatusCodeType, theme: ZeniThemeColor) => TagStatus | undefined;
export {};
