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