import { ContractCallAction } from "../../core/actions/ContractCallAction";
import { VRFSubscriptionInfo } from "../../core/types";
import { TransactionResponse } from 'ethers';
export declare class VRFSubscription {
    id: string;
    balance: string;
    requestCount: string;
    owner: string;
    consumers: string[];
    coordinatorAddress: string;
    chainlinkTokenContractAddress: string;
    private constructor();
    static fromSubId(subId: string): Promise<VRFSubscription>;
    getInfo(subId?: string): Promise<VRFSubscriptionInfo>;
    fund(amount: string, options?: {
        pk?: string;
    }): Promise<ContractCallAction | TransactionResponse>;
    cancel(toAddress: string, options?: {
        pk?: string;
    }): Promise<ContractCallAction | TransactionResponse>;
    ownerCancel(options?: {
        pk?: string;
    }): Promise<ContractCallAction | TransactionResponse>;
    addConsumer(consumerAddress: string, options?: {
        pk?: string;
    }): Promise<ContractCallAction | TransactionResponse>;
    removeConsumer(consumerAddress: string, options?: {
        pk?: string;
    }): Promise<ContractCallAction | TransactionResponse>;
    acceptSubscriptionOwnerTransfer(options?: {
        pk?: string;
    }): Promise<ContractCallAction | TransactionResponse>;
    requestSubscriptionOwnerTransfer(newOwner: string, options?: {
        pk?: string;
    }): Promise<ContractCallAction | TransactionResponse>;
}
