import { BigIntable } from './big-intable.types';
export interface EncryptedOutputWithSign<Sign = boolean> {
    value: string;
    isPositive: Sign;
    isBlocked: boolean;
}
export interface EncryptedOutputWithCommitment {
    commitment: string;
    encryptedOutput: string;
}
export interface OutputsWithSignAndLast<Sign = boolean> {
    additionalEncryptedOutputs: EncryptedOutputWithSign<Sign>[];
    lastOutput: string;
}
export interface CommitmentEvent<BN = BigIntable> {
    commitment: BN;
    index: BN;
    encryptedOutput: string;
}
export interface SolanaCommitmentEvent {
    commitment: number[];
    index: number[];
    encrypted_output: number[];
    on_chain_data: number[][];
}
export interface AccessTokenEvent<BN = BigIntable> {
    accessKey: BN;
    index: BN;
    senderAddress: string;
}
export interface SolanaAccessTokenEvent<BN, PublicKeyType> {
    access_key: BN;
    index: BN;
    sender_address: PublicKeyType;
}
export interface NullifierEvent<T> {
    nullifier: T;
}
export interface RegisterEvent {
    ethereumAddress: string;
    shieldedAddressHash: string;
}
