/**
 * Code generated by protoc-gen-tsjson. DO NOT EDIT.
 * versions:
 * 	protoc-gen-tsjson v0.5.3
 * 	protoc            v3.10.1
 * source: pkcs11.proto
 */
import * as tsjson from "@llkennedy/protoc-gen-tsjson";
import { MechanismType as padlock__MechanismType } from "./mechanisms";
import { AttributeType as padlock__AttributeType } from "./attributes";
/** A message */
export declare class ModuleInfo extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    cryptokiVersion?: Version;
    /** A field */
    manufacturerId?: string;
    /** A field */
    flags?: number;
    /** A field */
    libraryDescription?: string;
    /** A field */
    libraryVersion?: Version;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ModuleInfo>;
}
/** A message */
export declare class SlotInfo extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    id?: number;
    /** A field */
    slotDescription?: string;
    /** A field */
    manufacturerId?: string;
    /** A field */
    flags?: number;
    /** A field */
    hardwareVersion?: Version;
    /** A field */
    firmwareVersion?: Version;
    /** A field */
    tokenInfo?: TokenInfo;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<SlotInfo>;
}
/** A message */
export declare class TokenInfo extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    label?: string;
    /** A field */
    manufacturerId?: string;
    /** A field */
    model?: string;
    /** A field */
    serialNumber?: string;
    /** A field */
    flags?: number;
    /** A field */
    maxSessionCount?: number;
    /** A field */
    sessionCount?: number;
    /** A field */
    maxRwSessionCount?: number;
    /** A field */
    rwSessionCount?: number;
    /** A field */
    maxPinLen?: number;
    /** A field */
    minPinLen?: number;
    /** A field */
    totalPublicMemory?: number;
    /** A field */
    freePublicMemory?: number;
    /** A field */
    totalPrivateMemory?: number;
    /** A field */
    freePrivateMemory?: number;
    /** A field */
    hardwareVersion?: Version;
    /** A field */
    firmwareVersion?: Version;
    /** A field */
    utctime?: string;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<TokenInfo>;
}
/** A message */
export declare class Version extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    major?: number;
    /** A field */
    minor?: number;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<Version>;
}
/** A message */
export declare class SupportedMechanism extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    type?: padlock__MechanismType;
    /** A field */
    minKeySize?: number;
    /** A field */
    maxKeySize?: number;
    /** A field */
    flags?: Uint8Array;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<SupportedMechanism>;
}
/** A message */
export declare class Mechanism extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    type?: padlock__MechanismType;
    /** A field */
    raw?: Uint8Array;
    /** A field */
    ecdh1?: MechanismECDH1DeriveParams;
    /** A field */
    gcm?: MechanismGCMParams;
    /** A field */
    oaep?: MechanismOAEPParams;
    /** A field */
    pss?: MechanismPSSParams;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<Mechanism>;
}
/** A message */
export declare class MechanismECDH1DeriveParams extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    kdf?: number;
    /** A field */
    sharedData?: Uint8Array;
    /** A field */
    publicKeyData?: Uint8Array;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<MechanismECDH1DeriveParams>;
}
/** A message */
export declare class MechanismGCMParams extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    iv?: Uint8Array;
    /** A field */
    aad?: Uint8Array;
    /** A field */
    tagSize?: number;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<MechanismGCMParams>;
}
/** A message */
export declare class MechanismOAEPParams extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    hashAlg?: number;
    /** A field */
    mgf?: number;
    /** A field */
    sourceType?: number;
    /** A field */
    sourceData?: Uint8Array;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<MechanismOAEPParams>;
}
/** A message */
export declare class MechanismPSSParams extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    hashAlg?: number;
    /** A field */
    mgf?: number;
    /** A field */
    saltLength?: number;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<MechanismPSSParams>;
}
/** A message */
export declare class Attribute extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    type?: padlock__AttributeType;
    /** A field */
    value?: Uint8Array;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<Attribute>;
}
/** A message */
export declare class P11Object extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    label?: string;
    /** A field */
    uuid?: string;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<P11Object>;
}
//# sourceMappingURL=pkcs11.d.ts.map