import type { MoneyLayer, MoneySupplySnapshot } from './types';
/** IPSAS GL mapping for OMNL central-bank money aggregates */
export declare const GL_CODES: {
    readonly M0_RESERVE: "1050";
    readonly M1_LIABILITY: "2000";
    readonly M1_CIRCULATING: "2100";
    readonly M2_BROAD: "2200";
    readonly SETTLEMENT_SUSPENSE: "1000";
    readonly TRADE_FINANCE_CONTINGENT: "1410";
    readonly CRYPTO_TOKEN_LIABILITY: "2300";
};
/** Policy caps from hybx-omnl-policy (1.2× M0 reserve → M1 capacity; 5× M1 → M2 broad) */
export declare const POLICY: {
    readonly M0_BACKING_MULTIPLIER: 1.2;
    readonly M1_CAP_MULTIPLIER: 5;
    readonly M2_META_FIAT_RAIL_CONVERSION: true;
};
export declare function aggregateMetaFiatLayers(layers: Partial<Record<MoneyLayer, string>>): {
    metaFiatTotal: string;
    breakdown: Record<MoneyLayer, string>;
};
export declare function buildMoneySupplySnapshot(officeId: number, balances: Partial<Record<string, string>>): MoneySupplySnapshot;
export declare function m2FiatToTokenLoadAmount(fiatAmount: string, m2Available: string): {
    loadAmount: string;
    fullyBacked: boolean;
};
