import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from 'ethers';
import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from './common';
export declare namespace SmtLib {
    type ProofStruct = {
        root: BigNumberish;
        existence: boolean;
        siblings: BigNumberish[];
        index: BigNumberish;
        value: BigNumberish;
        auxExistence: boolean;
        auxIndex: BigNumberish;
        auxValue: BigNumberish;
    };
    type ProofStructOutput = [
        root: bigint,
        existence: boolean,
        siblings: bigint[],
        index: bigint,
        value: bigint,
        auxExistence: boolean,
        auxIndex: bigint,
        auxValue: bigint
    ] & {
        root: bigint;
        existence: boolean;
        siblings: bigint[];
        index: bigint;
        value: bigint;
        auxExistence: boolean;
        auxIndex: bigint;
        auxValue: bigint;
    };
}
export declare namespace IdentityLib {
    type StateInfoStruct = {
        state: BigNumberish;
        claimsRoot: BigNumberish;
        revocationsRoot: BigNumberish;
        rootsRoot: BigNumberish;
    };
    type StateInfoStructOutput = [
        state: bigint,
        claimsRoot: bigint,
        revocationsRoot: bigint,
        rootsRoot: bigint
    ] & {
        state: bigint;
        claimsRoot: bigint;
        revocationsRoot: bigint;
        rootsRoot: bigint;
    };
    type RootsStruct = {
        claimsRoot: BigNumberish;
        revocationsRoot: BigNumberish;
        rootsRoot: BigNumberish;
    };
    type RootsStructOutput = [
        claimsRoot: bigint,
        revocationsRoot: bigint,
        rootsRoot: bigint
    ] & {
        claimsRoot: bigint;
        revocationsRoot: bigint;
        rootsRoot: bigint;
    };
}
export declare namespace INonMerklizedIssuer {
    type CredentialSchemaStruct = {
        id: string;
        _type: string;
    };
    type CredentialSchemaStructOutput = [id: string, _type: string] & {
        id: string;
        _type: string;
    };
    type DisplayMethodStruct = {
        id: string;
        _type: string;
    };
    type DisplayMethodStructOutput = [id: string, _type: string] & {
        id: string;
        _type: string;
    };
    type CredentialDataStruct = {
        id: BigNumberish;
        context: string[];
        _type: string;
        issuanceDate: BigNumberish;
        credentialSchema: INonMerklizedIssuer.CredentialSchemaStruct;
        displayMethod: INonMerklizedIssuer.DisplayMethodStruct;
    };
    type CredentialDataStructOutput = [
        id: bigint,
        context: string[],
        _type: string,
        issuanceDate: bigint,
        credentialSchema: INonMerklizedIssuer.CredentialSchemaStructOutput,
        displayMethod: INonMerklizedIssuer.DisplayMethodStructOutput
    ] & {
        id: bigint;
        context: string[];
        _type: string;
        issuanceDate: bigint;
        credentialSchema: INonMerklizedIssuer.CredentialSchemaStructOutput;
        displayMethod: INonMerklizedIssuer.DisplayMethodStructOutput;
    };
    type SubjectFieldStruct = {
        key: string;
        value: BigNumberish;
        rawValue: BytesLike;
    };
    type SubjectFieldStructOutput = [key: string, value: bigint, rawValue: string] & {
        key: string;
        value: bigint;
        rawValue: string;
    };
}
export declare namespace IOnchainCredentialStatusResolver {
    type IdentityStateRootsStruct = {
        state: BigNumberish;
        claimsTreeRoot: BigNumberish;
        revocationTreeRoot: BigNumberish;
        rootOfRoots: BigNumberish;
    };
    type IdentityStateRootsStructOutput = [
        state: bigint,
        claimsTreeRoot: bigint,
        revocationTreeRoot: bigint,
        rootOfRoots: bigint
    ] & {
        state: bigint;
        claimsTreeRoot: bigint;
        revocationTreeRoot: bigint;
        rootOfRoots: bigint;
    };
    type ProofStruct = {
        root: BigNumberish;
        existence: boolean;
        siblings: BigNumberish[];
        index: BigNumberish;
        value: BigNumberish;
        auxExistence: boolean;
        auxIndex: BigNumberish;
        auxValue: BigNumberish;
    };
    type ProofStructOutput = [
        root: bigint,
        existence: boolean,
        siblings: bigint[],
        index: bigint,
        value: bigint,
        auxExistence: boolean,
        auxIndex: bigint,
        auxValue: bigint
    ] & {
        root: bigint;
        existence: boolean;
        siblings: bigint[];
        index: bigint;
        value: bigint;
        auxExistence: boolean;
        auxIndex: bigint;
        auxValue: bigint;
    };
    type CredentialStatusStruct = {
        issuer: IOnchainCredentialStatusResolver.IdentityStateRootsStruct;
        mtp: IOnchainCredentialStatusResolver.ProofStruct;
    };
    type CredentialStatusStructOutput = [
        issuer: IOnchainCredentialStatusResolver.IdentityStateRootsStructOutput,
        mtp: IOnchainCredentialStatusResolver.ProofStructOutput
    ] & {
        issuer: IOnchainCredentialStatusResolver.IdentityStateRootsStructOutput;
        mtp: IOnchainCredentialStatusResolver.ProofStructOutput;
    };
}
export interface NonMerklizedIssuerBaseInterface extends Interface {
    getFunction(nameOrSignature: 'CREDENTIAL_ADAPTER_VERSION' | 'getClaimProof' | 'getClaimProofByRoot' | 'getClaimProofWithStateInfo' | 'getClaimsTreeRoot' | 'getCredential' | 'getCredentialAdapterVersion' | 'getId' | 'getIsOldStateGenesis' | 'getLatestPublishedClaimsRoot' | 'getLatestPublishedRevocationsRoot' | 'getLatestPublishedRootsRoot' | 'getLatestPublishedState' | 'getRevocationProof' | 'getRevocationProofByRoot' | 'getRevocationProofWithStateInfo' | 'getRevocationStatus' | 'getRevocationStatusByIdAndState' | 'getRevocationsTreeRoot' | 'getRootProof' | 'getRootProofByRoot' | 'getRootProofWithStateInfo' | 'getRootsByState' | 'getRootsTreeRoot' | 'getSmtDepth' | 'getUserCredentialIds' | 'initialize' | 'supportsInterface'): FunctionFragment;
    encodeFunctionData(functionFragment: 'CREDENTIAL_ADAPTER_VERSION', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getClaimProof', values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: 'getClaimProofByRoot', values: [BigNumberish, BigNumberish]): string;
    encodeFunctionData(functionFragment: 'getClaimProofWithStateInfo', values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: 'getClaimsTreeRoot', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getCredential', values: [BigNumberish, BigNumberish]): string;
    encodeFunctionData(functionFragment: 'getCredentialAdapterVersion', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getId', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getIsOldStateGenesis', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getLatestPublishedClaimsRoot', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getLatestPublishedRevocationsRoot', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getLatestPublishedRootsRoot', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getLatestPublishedState', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getRevocationProof', values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: 'getRevocationProofByRoot', values: [BigNumberish, BigNumberish]): string;
    encodeFunctionData(functionFragment: 'getRevocationProofWithStateInfo', values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: 'getRevocationStatus', values: [BigNumberish, BigNumberish]): string;
    encodeFunctionData(functionFragment: 'getRevocationStatusByIdAndState', values: [BigNumberish, BigNumberish, BigNumberish]): string;
    encodeFunctionData(functionFragment: 'getRevocationsTreeRoot', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getRootProof', values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: 'getRootProofByRoot', values: [BigNumberish, BigNumberish]): string;
    encodeFunctionData(functionFragment: 'getRootProofWithStateInfo', values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: 'getRootsByState', values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: 'getRootsTreeRoot', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getSmtDepth', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getUserCredentialIds', values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: 'initialize', values: [AddressLike, BytesLike]): string;
    encodeFunctionData(functionFragment: 'supportsInterface', values: [BytesLike]): string;
    decodeFunctionResult(functionFragment: 'CREDENTIAL_ADAPTER_VERSION', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getClaimProof', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getClaimProofByRoot', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getClaimProofWithStateInfo', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getClaimsTreeRoot', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getCredential', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getCredentialAdapterVersion', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getId', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getIsOldStateGenesis', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getLatestPublishedClaimsRoot', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getLatestPublishedRevocationsRoot', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getLatestPublishedRootsRoot', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getLatestPublishedState', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getRevocationProof', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getRevocationProofByRoot', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getRevocationProofWithStateInfo', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getRevocationStatus', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getRevocationStatusByIdAndState', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getRevocationsTreeRoot', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getRootProof', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getRootProofByRoot', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getRootProofWithStateInfo', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getRootsByState', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getRootsTreeRoot', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getSmtDepth', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getUserCredentialIds', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'initialize', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'supportsInterface', data: BytesLike): Result;
}
export interface NonMerklizedIssuerBase extends BaseContract {
    connect(runner?: ContractRunner | null): NonMerklizedIssuerBase;
    waitForDeployment(): Promise<this>;
    interface: NonMerklizedIssuerBaseInterface;
    queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
    queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
    on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
    on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
    once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
    once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
    listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
    listeners(eventName?: string): Promise<Array<Listener>>;
    removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
    CREDENTIAL_ADAPTER_VERSION: TypedContractMethod<[], [string], 'view'>;
    getClaimProof: TypedContractMethod<[
        claimIndexHash: BigNumberish
    ], [
        SmtLib.ProofStructOutput
    ], 'view'>;
    getClaimProofByRoot: TypedContractMethod<[
        claimIndexHash: BigNumberish,
        root: BigNumberish
    ], [
        SmtLib.ProofStructOutput
    ], 'view'>;
    getClaimProofWithStateInfo: TypedContractMethod<[
        claimIndexHash: BigNumberish
    ], [
        [SmtLib.ProofStructOutput, IdentityLib.StateInfoStructOutput]
    ], 'view'>;
    getClaimsTreeRoot: TypedContractMethod<[], [bigint], 'view'>;
    getCredential: TypedContractMethod<[
        _userId: BigNumberish,
        _credentialId: BigNumberish
    ], [
        [
            INonMerklizedIssuer.CredentialDataStructOutput,
            bigint[],
            INonMerklizedIssuer.SubjectFieldStructOutput[]
        ]
    ], 'view'>;
    getCredentialAdapterVersion: TypedContractMethod<[], [string], 'view'>;
    getId: TypedContractMethod<[], [bigint], 'view'>;
    getIsOldStateGenesis: TypedContractMethod<[], [boolean], 'view'>;
    getLatestPublishedClaimsRoot: TypedContractMethod<[], [bigint], 'view'>;
    getLatestPublishedRevocationsRoot: TypedContractMethod<[], [bigint], 'view'>;
    getLatestPublishedRootsRoot: TypedContractMethod<[], [bigint], 'view'>;
    getLatestPublishedState: TypedContractMethod<[], [bigint], 'view'>;
    getRevocationProof: TypedContractMethod<[
        revocationNonce: BigNumberish
    ], [
        SmtLib.ProofStructOutput
    ], 'view'>;
    getRevocationProofByRoot: TypedContractMethod<[
        revocationNonce: BigNumberish,
        root: BigNumberish
    ], [
        SmtLib.ProofStructOutput
    ], 'view'>;
    getRevocationProofWithStateInfo: TypedContractMethod<[
        revocationNonce: BigNumberish
    ], [
        [SmtLib.ProofStructOutput, IdentityLib.StateInfoStructOutput]
    ], 'view'>;
    getRevocationStatus: TypedContractMethod<[
        id: BigNumberish,
        nonce: BigNumberish
    ], [
        IOnchainCredentialStatusResolver.CredentialStatusStructOutput
    ], 'view'>;
    getRevocationStatusByIdAndState: TypedContractMethod<[
        id: BigNumberish,
        state: BigNumberish,
        nonce: BigNumberish
    ], [
        IOnchainCredentialStatusResolver.CredentialStatusStructOutput
    ], 'view'>;
    getRevocationsTreeRoot: TypedContractMethod<[], [bigint], 'view'>;
    getRootProof: TypedContractMethod<[
        rootsTreeRoot: BigNumberish
    ], [
        SmtLib.ProofStructOutput
    ], 'view'>;
    getRootProofByRoot: TypedContractMethod<[
        claimsTreeRoot: BigNumberish,
        root: BigNumberish
    ], [
        SmtLib.ProofStructOutput
    ], 'view'>;
    getRootProofWithStateInfo: TypedContractMethod<[
        rootsTreeRoot: BigNumberish
    ], [
        [SmtLib.ProofStructOutput, IdentityLib.StateInfoStructOutput]
    ], 'view'>;
    getRootsByState: TypedContractMethod<[
        state: BigNumberish
    ], [
        IdentityLib.RootsStructOutput
    ], 'view'>;
    getRootsTreeRoot: TypedContractMethod<[], [bigint], 'view'>;
    getSmtDepth: TypedContractMethod<[], [bigint], 'view'>;
    getUserCredentialIds: TypedContractMethod<[_userId: BigNumberish], [bigint[]], 'view'>;
    initialize: TypedContractMethod<[
        _stateContractAddr: AddressLike,
        idType: BytesLike
    ], [
        void
    ], 'nonpayable'>;
    supportsInterface: TypedContractMethod<[interfaceId: BytesLike], [boolean], 'view'>;
    getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
    getFunction(nameOrSignature: 'CREDENTIAL_ADAPTER_VERSION'): TypedContractMethod<[], [string], 'view'>;
    getFunction(nameOrSignature: 'getClaimProof'): TypedContractMethod<[claimIndexHash: BigNumberish], [SmtLib.ProofStructOutput], 'view'>;
    getFunction(nameOrSignature: 'getClaimProofByRoot'): TypedContractMethod<[
        claimIndexHash: BigNumberish,
        root: BigNumberish
    ], [
        SmtLib.ProofStructOutput
    ], 'view'>;
    getFunction(nameOrSignature: 'getClaimProofWithStateInfo'): TypedContractMethod<[
        claimIndexHash: BigNumberish
    ], [
        [SmtLib.ProofStructOutput, IdentityLib.StateInfoStructOutput]
    ], 'view'>;
    getFunction(nameOrSignature: 'getClaimsTreeRoot'): TypedContractMethod<[], [bigint], 'view'>;
    getFunction(nameOrSignature: 'getCredential'): TypedContractMethod<[
        _userId: BigNumberish,
        _credentialId: BigNumberish
    ], [
        [
            INonMerklizedIssuer.CredentialDataStructOutput,
            bigint[],
            INonMerklizedIssuer.SubjectFieldStructOutput[]
        ]
    ], 'view'>;
    getFunction(nameOrSignature: 'getCredentialAdapterVersion'): TypedContractMethod<[], [string], 'view'>;
    getFunction(nameOrSignature: 'getId'): TypedContractMethod<[], [bigint], 'view'>;
    getFunction(nameOrSignature: 'getIsOldStateGenesis'): TypedContractMethod<[], [boolean], 'view'>;
    getFunction(nameOrSignature: 'getLatestPublishedClaimsRoot'): TypedContractMethod<[], [bigint], 'view'>;
    getFunction(nameOrSignature: 'getLatestPublishedRevocationsRoot'): TypedContractMethod<[], [bigint], 'view'>;
    getFunction(nameOrSignature: 'getLatestPublishedRootsRoot'): TypedContractMethod<[], [bigint], 'view'>;
    getFunction(nameOrSignature: 'getLatestPublishedState'): TypedContractMethod<[], [bigint], 'view'>;
    getFunction(nameOrSignature: 'getRevocationProof'): TypedContractMethod<[revocationNonce: BigNumberish], [SmtLib.ProofStructOutput], 'view'>;
    getFunction(nameOrSignature: 'getRevocationProofByRoot'): TypedContractMethod<[
        revocationNonce: BigNumberish,
        root: BigNumberish
    ], [
        SmtLib.ProofStructOutput
    ], 'view'>;
    getFunction(nameOrSignature: 'getRevocationProofWithStateInfo'): TypedContractMethod<[
        revocationNonce: BigNumberish
    ], [
        [SmtLib.ProofStructOutput, IdentityLib.StateInfoStructOutput]
    ], 'view'>;
    getFunction(nameOrSignature: 'getRevocationStatus'): TypedContractMethod<[
        id: BigNumberish,
        nonce: BigNumberish
    ], [
        IOnchainCredentialStatusResolver.CredentialStatusStructOutput
    ], 'view'>;
    getFunction(nameOrSignature: 'getRevocationStatusByIdAndState'): TypedContractMethod<[
        id: BigNumberish,
        state: BigNumberish,
        nonce: BigNumberish
    ], [
        IOnchainCredentialStatusResolver.CredentialStatusStructOutput
    ], 'view'>;
    getFunction(nameOrSignature: 'getRevocationsTreeRoot'): TypedContractMethod<[], [bigint], 'view'>;
    getFunction(nameOrSignature: 'getRootProof'): TypedContractMethod<[rootsTreeRoot: BigNumberish], [SmtLib.ProofStructOutput], 'view'>;
    getFunction(nameOrSignature: 'getRootProofByRoot'): TypedContractMethod<[
        claimsTreeRoot: BigNumberish,
        root: BigNumberish
    ], [
        SmtLib.ProofStructOutput
    ], 'view'>;
    getFunction(nameOrSignature: 'getRootProofWithStateInfo'): TypedContractMethod<[
        rootsTreeRoot: BigNumberish
    ], [
        [SmtLib.ProofStructOutput, IdentityLib.StateInfoStructOutput]
    ], 'view'>;
    getFunction(nameOrSignature: 'getRootsByState'): TypedContractMethod<[state: BigNumberish], [IdentityLib.RootsStructOutput], 'view'>;
    getFunction(nameOrSignature: 'getRootsTreeRoot'): TypedContractMethod<[], [bigint], 'view'>;
    getFunction(nameOrSignature: 'getSmtDepth'): TypedContractMethod<[], [bigint], 'view'>;
    getFunction(nameOrSignature: 'getUserCredentialIds'): TypedContractMethod<[_userId: BigNumberish], [bigint[]], 'view'>;
    getFunction(nameOrSignature: 'initialize'): TypedContractMethod<[
        _stateContractAddr: AddressLike,
        idType: BytesLike
    ], [
        void
    ], 'nonpayable'>;
    getFunction(nameOrSignature: 'supportsInterface'): TypedContractMethod<[interfaceId: BytesLike], [boolean], 'view'>;
    filters: {};
}
//# sourceMappingURL=NonMerklizedIssuerBase.d.ts.map