import type { PromiseOrValue } from "../../../../../common";
import type { VAIControllerStorageG3, VAIControllerStorageG3Interface } from "../../../../../contracts/Tokens/VAI/VAIControllerStorage.sol/VAIControllerStorageG3";
import type { Provider, TransactionRequest } from "@ethersproject/providers";
import { Signer, ContractFactory, Overrides } from "ethers";
type VAIControllerStorageG3ConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class VAIControllerStorageG3__factory extends ContractFactory {
    constructor(...args: VAIControllerStorageG3ConstructorParams);
    deploy(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<VAIControllerStorageG3>;
    getDeployTransaction(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): TransactionRequest;
    attach(address: string): VAIControllerStorageG3;
    connect(signer: Signer): VAIControllerStorageG3__factory;
    static readonly bytecode = "0x608060405234801561001057600080fd5b506103ba806100206000396000f3fe608060405234801561001057600080fd5b506004361061012b5760003560e01c8063b06bb426116100ad578063e44e616811610071578063e44e616814610208578063ee1fa41e14610238578063f20fd8f414610240578063f7260d3e14610266578063f851a4401461026e5761012b565b8063b06bb426146101e0578063b2b481bc146101e8578063b2eafc39146101f0578063c5f956af146101f8578063c7ee005e146102005761012b565b80633b72fbef116100f45780633b72fbef146101a45780635ce73240146101ac5780635fe3b567146101b457806360c954ef146101bc57806376c71ca1146101d85761012b565b80623b58841461013057806304ef9d581461015457806313007d551461016e5780632465060214610176578063267822471461019c575b600080fd5b610138610276565b604080516001600160a01b039092168252519081900360200190f35b61015c610285565b60408051918252519081900360200190f35b61013861028b565b61015c6004803603602081101561018c57600080fd5b50356001600160a01b031661029a565b6101386102ac565b61015c6102bb565b61015c6102c1565b6101386102c7565b6101c46102d6565b604080519115158252519081900360200190f35b61015c6102df565b6101386102e5565b61015c6102f4565b6101386102fa565b610138610309565b610138610318565b610210610327565b604080516001600160e01b03909316835263ffffffff90911660208301528051918290030190f35b6101c4610345565b61015c6004803603602081101561025657600080fd5b50356001600160a01b0316610355565b610138610367565b610138610376565b6002546001600160a01b031681565b600a5481565b6014546001600160a01b031681565b60076020526000908152604090205481565b6001546001600160a01b031681565b600c5481565b600d5481565b6004546001600160a01b031681565b60065460ff1681565b60135481565b6003546001600160a01b031681565b600f5481565b6008546001600160a01b031681565b6009546001600160a01b031681565b6015546001600160a01b031681565b6005546001600160e01b03811690600160e01b900463ffffffff1682565b601554600160a01b900460ff1681565b60126020526000908152604090205481565b600e546001600160a01b031681565b6000546001600160a01b03168156fea265627a7a72315820388cd96fdfd7737a1f8764f164c0699ba66cfc032837df9aa417b4369ece547a64736f6c63430005100032";
    static readonly abi: readonly [{
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "accessControl";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "admin";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "baseRateMantissa";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "comptroller";
        readonly outputs: readonly [{
            readonly internalType: "contract ComptrollerInterface";
            readonly name: "";
            readonly type: "address";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "floatRateMantissa";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "isVenusVAIInitialized";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "mintCap";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "mintEnabledOnlyForPrimeHolder";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly name: "pastVAIInterest";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "pendingAdmin";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "pendingVAIControllerImplementation";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "prime";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "receiver";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "treasuryAddress";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "treasuryGuardian";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "treasuryPercent";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "vaiControllerImplementation";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "vaiMintIndex";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly name: "venusVAIMinterIndex";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "venusVAIState";
        readonly outputs: readonly [{
            readonly internalType: "uint224";
            readonly name: "index";
            readonly type: "uint224";
        }, {
            readonly internalType: "uint32";
            readonly name: "block";
            readonly type: "uint32";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }];
    static createInterface(): VAIControllerStorageG3Interface;
    static connect(address: string, signerOrProvider: Signer | Provider): VAIControllerStorageG3;
}
export {};
