/**
 * OperatorRegistry
 *
 * Client for interacting with the Operator Registry contract
 * This service allows operators to register in the Symbiotic ecosystem
 */
import { ethers, TransactionResponse } from "ethers";
import { ChainsOptions } from "../../types";
export declare class OperatorRegistry {
    private readonly provider;
    private readonly signer;
    private readonly chainId;
    private contract;
    constructor(provider: ethers.Provider, signer: ethers.Signer, chainId: ChainsOptions);
    /**
     * Register as an operator in the Symbiotic ecosystem
     * This is the first step in the operator integration process
     *
     * @returns Transaction response
     */
    registerOperator(): Promise<TransactionResponse>;
    /**
     * Check if an address is registered as an operator
     *
     * @param operatorAddress - The address to check
     * @returns Boolean indicating if the address is registered as an operator
     */
    isOperator(operatorAddress: string): Promise<boolean>;
    /**
     * Get the total number of registered operators
     *
     * @returns The total number of operators
     */
    getTotalOperators(): Promise<number>;
    /**
     * Get the operator address at a specific index
     *
     * @param index - The index of the operator to retrieve
     * @returns The operator address
     */
    getOperatorAtIndex(index: number): Promise<string>;
}
