import { Canister } from '../_canister'; import { type CanisterOptions } from '../schema'; import { type NotifyTopUpArgs, type NotifyTopUpResult } from './schema'; /** * Provides a simple interface to interact with the Cycle Minting Canister, * when developing Juno Serverless Functions in TypeScript. * * @param {CanisterOptions} [options] - Optional custom canister ID. */ export declare class CMCCanister extends Canister { constructor(options?: CanisterOptions); /** * Notifies the Cycle Minting Canister (CMC) that a top-up transfer has been completed. * * After sending ICP to the CMC top-up account for a canister, the transfer is recorded * on the ledger. The CMC does not automatically convert that ICP into cycles — you * must call this function to let the CMC know which transaction to process. * * The CMC will then convert the ICP from the given ledger block into cycles and add * them to the specified canister. * * @param {NotifyTopUpArgs} args - Arguments containing the ledger block index and the canister ID that should receive the cycles. * @returns {Promise} The result of the CMC conversion and deposit. */ notifyTopUp: ({ args }: { args: NotifyTopUpArgs; }) => Promise; }