import { Address } from 'viem';
import { CsmSDKModule } from '../common/class-primitives/csm-sdk-module.js';
import { Proof, WithToken } from '../common/index.js';
import { OperatorSDK } from '../operator-sdk/operator-sdk.js';
import { TxSDK } from '../tx-sdk/index.js';
import { AddressesTreeLeaf, AddressProof, AddVettedNodeOperatorProps, ClaimCuvrveProps } from './types.js';
export declare class IcsGateSDK extends CsmSDKModule<{
    tx: TxSDK;
    operator: OperatorSDK;
}> {
    private get icsContract();
    private parseOperatorFromReceipt;
    addNodeOperatorETH(props: AddVettedNodeOperatorProps): Promise<import("@lidofinance/lido-ethereum-sdk").TransactionResult<import("../common/types.js").NodeOperatorShortInfo>>;
    addNodeOperatorStETH(props: AddVettedNodeOperatorProps): Promise<import("@lidofinance/lido-ethereum-sdk").TransactionResult<import("../common/types.js").NodeOperatorShortInfo>>;
    addNodeOperatorWstETH(props: AddVettedNodeOperatorProps): Promise<import("@lidofinance/lido-ethereum-sdk").TransactionResult<import("../common/types.js").NodeOperatorShortInfo>>;
    addNodeOperator(props: WithToken<AddVettedNodeOperatorProps>): Promise<import("@lidofinance/lido-ethereum-sdk").TransactionResult<import("../common/types.js").NodeOperatorShortInfo>>;
    getCurveId(): Promise<bigint>;
    getTreeConfig(): Promise<{
        root: `0x${string}` | null;
        cid: string | null;
    }>;
    getProofTreeUrls(cid: string): string[];
    getProofTree(): Promise<import("@openzeppelin/merkle-tree").StandardMerkleTree<AddressesTreeLeaf> | null>;
    getProof(address: Address): Promise<Proof | null>;
    getProofAndConsumed(address: Address): Promise<AddressProof>;
    isConsumed(address: Address): Promise<boolean>;
    isPaused(): Promise<boolean>;
    verifyProof(address: Address, proof: Proof): Promise<boolean>;
    claimCurve(props: ClaimCuvrveProps): Promise<import("@lidofinance/lido-ethereum-sdk").TransactionResult<undefined>>;
}
//# sourceMappingURL=ics-gate-sdk.d.ts.map