import { SafeModule } from "./SafeModule";
import { MetaTransaction } from "../../../types";
export declare class AllowanceModule extends SafeModule {
    static readonly DEFAULT_ALLOWANCE_MODULE_ADDRESS = "0xAA46724893dedD72658219405185Fb0Fc91e091C";
    constructor(moduleAddress?: string);
    createOneTimeAllowanceMetaTransaction(delegate: string, token: string, allowanceAmount: bigint, startAfterInMinutes: bigint): MetaTransaction;
    createRecurringAllowanceMetaTransaction(delegate: string, token: string, allowanceAmount: bigint, recurringAllowanceValidityPeriodInMinutes: bigint, startAfterInMinutes: bigint): MetaTransaction;
    createBaseSetAllowanceMetaTransaction(delegate: string, token: string, allowanceAmount: bigint, resetTimeMin: bigint, resetBaseMin: bigint): MetaTransaction;
    createRenewAllowanceMetaTransaction(delegate: string, token: string): MetaTransaction;
    createDeleteAllowanceMetaTransaction(delegate: string, token: string): MetaTransaction;
    createAllowanceTransferMetaTransaction(allowanceSourceSafeAddress: string, token: string, to: string, amount: bigint, delegate: string, overrides?: {
        delegateSignature?: string;
        paymentToken?: string;
        paymentAmount?: bigint;
    }): MetaTransaction;
    createBaseExecuteAllowanceTransferMetaTransaction(safeAddress: string, token: string, to: string, amount: bigint, paymentToken: string, payment: bigint, delegate: string, delegateSignature: string): MetaTransaction;
    createAddDelegateMetaTransaction(delegate: string): MetaTransaction;
    createRemoveDelegateMetaTransaction(delegate: string, removeAllowances: boolean): MetaTransaction;
    getTokens(nodeRpcUrl: string, safeAddress: string, delegate: string): Promise<string[]>;
    getTokensAllowance(nodeRpcUrl: string, safeAddress: string, delegate: string, token: string): Promise<Allowance>;
    getDelegates(nodeRpcUrl: string, safeAddress: string, overrides?: {
        start?: bigint;
        maxNumberOfResults?: bigint;
    }): Promise<string[]>;
    baseGetDelegates(nodeRpcUrl: string, safeAddress: string, start: bigint, pageSize: bigint): Promise<{
        results: string[];
        next: bigint;
    }>;
}
export type Allowance = {
    amount: bigint;
    spent: bigint;
    resetTimeMin: bigint;
    lastResetMin: bigint;
    nonce: bigint;
};
//# sourceMappingURL=AllowanceModule.d.ts.map