import type { NetworkId } from '../client/index.js'; export declare class FaucetRateLimitError extends Error { } type FaucetCoinInfo = { amount: number; id: string; transferTxDigest: string; }; type FaucetResponse = { transferredGasObjects: FaucetCoinInfo[]; error?: string | null; }; type BatchFaucetResponse = { task?: string | null; error?: string | null; }; type BatchSendStatusType = { status: 'INPROGRESS' | 'SUCCEEDED' | 'DISCARDED'; transferred_gas_objects: { sent: FaucetCoinInfo[]; }; }; type BatchStatusFaucetResponse = { status: BatchSendStatusType; error?: string | null; }; export declare function requestIotaFromFaucetV0(input: { host: string; recipient: string; headers?: HeadersInit; }): Promise; export declare function requestIotaFromFaucetV1(input: { host: string; recipient: string; headers?: HeadersInit; }): Promise; export declare function getFaucetRequestStatus(input: { host: string; taskId: string; headers?: HeadersInit; }): Promise; /** * Submits a V1 faucet request for the given recipient and polls until the * request succeeds, is discarded, or the attempt limit is reached. * * @param input.host - Base URL of the faucet service. * @param input.recipient - Address to receive the tokens. * @param input.headers - Optional HTTP headers forwarded to every faucet call. * @param input.maxAttempts - Maximum number of status-poll attempts before * giving up (default: 20). * @param input.delayMs - Milliseconds to wait between poll attempts * (default: 1500). * @returns The total amount of gas transferred, or `undefined` if the faucet * response contained no coin info. * @throws {Error} When the request is discarded, the attempt limit is exceeded, * or the faucet returns an error at any stage. */ export declare function requestIotaFromFaucet(input: { host: string; recipient: string; headers?: HeadersInit; maxAttempts?: number; delayMs?: number; }): Promise; export declare function getFaucetHost(network: NetworkId): string; export {}; //# sourceMappingURL=faucet.d.ts.map