import { default as React } from 'react';
import { Amount, CashProjectionPoint, UpcomingPaymentEvent } from '@zeniai/client-epic-state';
import { AutoTransferRulePageProps } from '../autoTransferRules/AutoTransferRulePage';
import { CashManagementBannerProps } from './CashManagementBanner';
export type ProjectionGranularity = "daily" | "weekly" | "monthly";
export type CashManagementTabId = "overview" | "autoTransferRules";
export interface CashOverviewProps {
    bufferAmount: Amount;
    cashBalance: Amount;
    cashFlowTotal: Amount;
    inflows: Amount;
    outflowItems: UpcomingPaymentEvent[];
    outflows: Amount;
    projectionData: CashProjectionPoint[];
    totalCash: Amount;
    treasuryBalance: Amount;
    /**
     * Props passed through to `<AutoTransferRulePage />` rendered under the
     * "Auto Transfer Rules" tab. When omitted and `isAutoTransferRulesLoading`
     * is false, that tab renders an empty state.
     */
    autoTransferRulePageProps?: AutoTransferRulePageProps;
    /**
     * When provided, renders `<CashManagementBanner>` just below the NavBar.
     * The consumer is responsible for picking the right `status` and
     * gating on the cash-management feature flag.
     */
    cashManagementBannerProps?: CashManagementBannerProps;
    granularity?: ProjectionGranularity;
    /** Initial active tab; defaults to `"overview"`. */
    initialTab?: CashManagementTabId;
    /**
     * When `true`, the auto transfer rules tab renders a skeleton placeholder
     * instead of the empty state. Use while the rules selector is fetching.
     */
    isAutoTransferRulesLoading?: boolean;
    /**
     * When `true`, the upcoming outflows table renders a skeleton placeholder
     * in place of its rows. Use while the upcoming-payment-events selector is
     * fetching.
     */
    isOutflowsLoading?: boolean;
    onBackClick?: () => void;
    onGranularityChange?: (granularity: ProjectionGranularity) => void;
}
declare const CashOverview: React.FC<CashOverviewProps>;
export default CashOverview;
