import { Address } from 'viem';
import { CsmSDKModule, CsmSDKProps } from '../common/class-primitives/csm-sdk-module.js';
import { CURATED_GATES, NodeOperatorShortInfo, Proof } from '../common/index.js';
import type { AddressesTreeLeaf, AddressProof } from '../ics-gate-sdk/types.js';
import { OperatorSDK } from '../operator-sdk/operator-sdk.js';
import { TxSDK } from '../tx-sdk/index.js';
import { CreateNodeOperatorProps, GateEligibility } from './types.js';
export declare class CuratedGateSDK extends CsmSDKModule<{
    tx: TxSDK;
    operator: OperatorSDK;
}> {
    private contract;
    constructor(props: CsmSDKProps, gateName: CURATED_GATES, name?: string);
    private parseOperatorFromReceipt;
    createNodeOperator(props: CreateNodeOperatorProps): Promise<import("@lidofinance/lido-ethereum-sdk").TransactionResult<NodeOperatorShortInfo>>;
    getCurveId(): Promise<bigint>;
    getTreeConfig(): Promise<{
        root: `0x${string}` | null;
        cid: string | null;
    }>;
    isConsumed(address: Address): Promise<boolean>;
    isPaused(): Promise<boolean>;
    verifyProof(address: Address, proof: Proof): Promise<boolean>;
    getProofTreeUrls(cid: string): string[];
    getProofTree(): Promise<import("@openzeppelin/merkle-tree").StandardMerkleTree<AddressesTreeLeaf> | null>;
    getProof(address: Address): Promise<Proof | null>;
    getProofAndConsumed(address: Address): Promise<AddressProof>;
    getEligibility(address: Address): Promise<GateEligibility>;
}
//# sourceMappingURL=curated-gate-sdk.d.ts.map