/**
 * The two Tempo chains MPP on Tempo pays on (spec `mpp-tempo-client-surface`).
 *
 * Run402 offers both on every Tempo-priced SKU, in an order that states its
 * preference: mainnet first on paid SKUs, Moderato first on the free prototype
 * tier. pathUSD lives at the same address on both. Tempo has no native gas
 * token; the sender pays its transaction fee in a stablecoin, so a payment
 * needs a little pathUSD beyond the price.
 */
export declare const PATH_USD: "0x20c0000000000000000000000000000000000000";
export interface TempoChain {
    id: number;
    /** CAIP-2 network id, as payment requirements and errors name it. */
    network: `eip155:${number}`;
    name: string;
    rpcUrl: string;
    /** The key this chain's balance is reported under in CLI and SDK JSON. */
    balanceKey: "tempo_mainnet_pathusd_micros" | "tempo_moderato_pathusd_micros";
    testnet: boolean;
}
export declare const TEMPO_MAINNET: TempoChain;
export declare const TEMPO_MODERATO: TempoChain;
export declare const TEMPO_CHAINS: readonly TempoChain[];
export declare function tempoChainById(id: unknown): TempoChain | null;
/**
 * pathUSD (USD micros) a payment needs beyond the price, for the sender's
 * Tempo transaction fee.
 */
export declare const TEMPO_FEE_HEADROOM_USD_MICROS = 5000n;
/** The outcome of one Tempo testnet faucet request. */
export type TempoFaucetOutcome = {
    funded: true;
} | {
    funded: false;
    message: string;
};
/**
 * Ask a Tempo testnet's faucet (the `tempo_fundAddress` JSON-RPC method on
 * the chain's own node) to fund `address` with test pathUSD. The faucet
 * settles on-chain after it answers, so a balance read right after may still
 * show zero; callers poll. The one place the SDK, `r.init()`, and the CLI's
 * `wallets fund` all request Tempo test money. Network failures propagate;
 * a faucet refusal is `{ funded: false, message }`.
 */
export declare function requestTempoFaucet(address: string, chain?: TempoChain): Promise<TempoFaucetOutcome>;
//# sourceMappingURL=tempo.d.ts.map