import type BigNumber from "bignumber.js"; import type Irys from "./irys"; import type { StringifiedNumber, UnixEpochMs, UploadResponse } from "./types"; export declare class Approval { protected irys: Irys; constructor(irys: Irys); getApprovals({ payingAddresses, tokens, approvedAddresses, }: { payingAddresses?: string[]; tokens?: string[]; approvedAddresses?: string[]; }): Promise<{ amount: string; payingAddress: string; approvedAddress: string; expiresBy: number; timestamp: number; token: string; }[]>; getCreatedApprovals({ payingAddresses, tokens, approvedAddresses, }: { payingAddresses?: string[]; tokens?: string[]; approvedAddresses?: string[]; }): Promise<{ amount: string; payingAddress: string; approvedAddress: string; expiresBy: number; timestamp: number; token: string; }[]>; get queryApproval(): import("@irys/query/node").BuilderMethods>; getApproval({ payingAddress, token, approvedAddress, }: { payingAddress?: string; token?: string; approvedAddress: string; }): Promise; getApprovedBalanceFrom(payingAddress: string): Promise; createApproval({ approvedAddress, amount, expiresInSeconds, }: { approvedAddress: string; amount: string | number | BigNumber; expiresInSeconds?: number | string; }): Promise; revokeApproval({ approvedAddress }: { approvedAddress: string; }): Promise; } type GetApprovedBalanceResponseBody = { amount: string; expiresBy?: StringifiedNumber; }; export declare enum UploadApprovalTags { APPROVE_PAYMENT = "x-irys-approve-payment", DELETE_APPROVAL = "x-irys-delete-payment-approval" } export declare enum UploadApprovalMetaTags { AMOUNT = "x-amount", EXPIRE_SECONDS = "x-expire-seconds" } export {};