import { BigNumber } from 'ethers';
import { BaseStakingContractAdapter, StakingAsset } from '../staking.js';
declare abstract class BaseRailgunContractAdapter extends BaseStakingContractAdapter {
    /**
     * Get staked amount for the given owner
     * @param owner - Owner address
     * @returns
     */
    getStakedTokenBalance(owner: string): Promise<BigNumber>;
}
export declare class RailgunEthereumGovernanceAdapter extends BaseRailgunContractAdapter {
    /**
     * The contract address
     */
    contractAddress: string;
    chainId: number;
    /**
     * Assets that can be staked to this contract
     */
    supportedAssets: StakingAsset[];
}
export declare class RailgunBinanceGovernanceAdapter extends BaseRailgunContractAdapter {
    /**
     * The contract address
     */
    contractAddress: string;
    chainId: number;
    /**
     * Assets that can be staked to this contract
     */
    supportedAssets: StakingAsset[];
}
export declare class RailgunPolygonGovernanceAdapter extends BaseRailgunContractAdapter {
    /**
     * The contract address
     */
    contractAddress: string;
    chainId: number;
    /**
     * Assets that can be staked to this contract
     */
    supportedAssets: StakingAsset[];
}
export {};
