/**
 * OperatorVaultOptInService
 *
 * Client for interacting with the Symbiotic Vault Opt-In service
 * This service allows operators to opt into specific vaults they want to receive stake from
 */
import { ethers, TransactionResponse } from "ethers";
import { ChainsOptions } from "../../types";
export declare class OperatorVaultOptInService {
    private readonly provider;
    private readonly signer;
    private readonly chainId;
    private contract;
    constructor(provider: ethers.Provider, signer: ethers.Signer, chainId: ChainsOptions);
    /**
     * Opt-in to a specific vault
     * Allows an operator to receive stake from a vault
     *
     * @param vaultAddress - The address of the vault to opt into
     * @returns Transaction response
     */
    optIn(vaultAddress: string): Promise<TransactionResponse>;
    /**
     * Opt-out from a specific vault
     * Allows an operator to stop receiving stake from a vault
     *
     * @param vaultAddress - The address of the vault to opt out from
     * @returns Transaction response
     */
    optOut(vaultAddress: string): Promise<TransactionResponse>;
    /**
     * Check if an operator is opted-in to a specific vault
     *
     * @param operatorAddress - The address of the operator to check
     * @param vaultAddress - The address of the vault to check
     * @returns Boolean indicating if the operator is opted in
     */
    isOptedIn(operatorAddress: string, vaultAddress: string): Promise<boolean>;
}
