/**
 * Code generated by protoc-gen-tsjson. DO NOT EDIT.
 * versions:
 * 	protoc-gen-tsjson v0.5.3
 * 	protoc            v3.10.1
 * source: padlock.proto
 */
import * as tsjson from "@llkennedy/protoc-gen-tsjson";
import { google } from "@llkennedy/protoc-gen-tsjson";
import { P11Object as padlock__P11Object, Attribute as padlock__Attribute, SupportedMechanism as padlock__SupportedMechanism, ModuleInfo as padlock__ModuleInfo, Mechanism as padlock__Mechanism, SlotInfo as padlock__SlotInfo } from "./pkcs11";
import { AttributeType as padlock__AttributeType } from "./attributes";
/** A message */
export declare class AuthHello extends Object implements tsjson.ProtoJSONCompatible {
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<AuthHello>;
}
/** A message */
export declare class AuthToken extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    data?: Uint8Array;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<AuthToken>;
}
/** A message */
export declare class ApplicationListModulesRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    auth?: AuthToken;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ApplicationListModulesRequest>;
}
/** A message */
export declare class ApplicationListModulesResponse extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    modules?: ReadonlyMap<string, padlock__ModuleInfo | null>;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ApplicationListModulesResponse>;
}
/** A message */
export declare class ApplicationConnectRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    auth?: AuthToken;
    /** A field */
    module?: string;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ApplicationConnectRequest>;
}
/** A message */
export declare class ApplicationConnectUpdate extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    info?: padlock__ModuleInfo;
    /** A field */
    changedSlots?: ModuleListSlotsResponse;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ApplicationConnectUpdate>;
}
/** A message */
export declare class ModuleInfoRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    auth?: AuthToken;
    /** A field */
    module?: string;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ModuleInfoRequest>;
}
/** A message */
export declare class ModuleInfoResponse extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    info?: padlock__ModuleInfo;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ModuleInfoResponse>;
}
/** A message */
export declare class ModuleListSlotsRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    auth?: AuthToken;
    /** A field */
    module?: string;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ModuleListSlotsRequest>;
}
/** A message */
export declare class ModuleListSlotsResponse extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    slots?: padlock__SlotInfo[];
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ModuleListSlotsResponse>;
}
/** A message */
export declare class SlotID extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    auth?: AuthToken;
    /** A field */
    module?: string;
    /** A field */
    slot?: number;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<SlotID>;
}
/** A message */
export declare class SlotListMechanismsRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    id?: SlotID;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<SlotListMechanismsRequest>;
}
/** A message */
export declare class SlotListMechanismsResponse extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    mechanisms?: padlock__SupportedMechanism[];
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<SlotListMechanismsResponse>;
}
/** A message */
export declare class SlotInitTokenRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    id?: SlotID;
    /** A field */
    securityOfficerPin?: string;
    /** A field */
    tokenLabel?: string;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<SlotInitTokenRequest>;
}
/** A message */
export declare class SlotInitTokenResponse extends Object implements tsjson.ProtoJSONCompatible {
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<SlotInitTokenResponse>;
}
/** A message */
export declare class SlotOpenSessionRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    id?: SlotID;
    /** A field */
    writeSession?: boolean;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<SlotOpenSessionRequest>;
}
/** A message */
export declare class SlotOpenSessionUpdate extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    uuid?: string;
    /** A field */
    loggedIn?: boolean;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<SlotOpenSessionUpdate>;
}
/** A message */
export declare class SessionID extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    auth?: AuthToken;
    /** A field */
    uuid?: string;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<SessionID>;
}
/** A message */
export declare class SessionCloseRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    id?: SessionID;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<SessionCloseRequest>;
}
/** A message */
export declare class SessionCloseResponse extends Object implements tsjson.ProtoJSONCompatible {
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<SessionCloseResponse>;
}
/** A message */
export declare class SessionLoginRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    id?: SessionID;
    /** A field */
    pin?: string;
    /** A field */
    loginAsSecurityOfficer?: boolean;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<SessionLoginRequest>;
}
/** A message */
export declare class SessionLoginResponse extends Object implements tsjson.ProtoJSONCompatible {
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<SessionLoginResponse>;
}
/** A message */
export declare class SessionLogoutResponse extends Object implements tsjson.ProtoJSONCompatible {
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<SessionLogoutResponse>;
}
/** A message */
export declare class SessionListObjectsRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    id?: SessionID;
    /** A field */
    template?: padlock__Attribute[];
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<SessionListObjectsRequest>;
}
/** A message */
export declare class SessionCreateObjectRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    id?: SessionID;
    /** A field */
    attributes?: padlock__Attribute[];
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<SessionCreateObjectRequest>;
}
/** A message */
export declare class SessionGenerateRandomRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    id?: SessionID;
    /** A field */
    length?: number;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<SessionGenerateRandomRequest>;
}
/** A message */
export declare class SessionGenerateRandomResponse extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    data?: Uint8Array;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<SessionGenerateRandomResponse>;
}
/** A message */
export declare class SessionGenerateKeyPairRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    id?: SessionID;
    /** A field */
    mech?: padlock__Mechanism;
    /** A field */
    privateAttributes?: padlock__Attribute[];
    /** A field */
    publicAttributes?: padlock__Attribute[];
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<SessionGenerateKeyPairRequest>;
}
/** A message */
export declare class SessionGenerateKeyPairResponse extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    private?: padlock__P11Object;
    /** A field */
    public?: padlock__P11Object;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<SessionGenerateKeyPairResponse>;
}
/** A message */
export declare class SessionGenerateKeyRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    id?: SessionID;
    /** A field */
    mech?: padlock__Mechanism;
    /** A field */
    attributes?: padlock__Attribute[];
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<SessionGenerateKeyRequest>;
}
/** A message */
export declare class ObjectID extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    sessionId?: SessionID;
    /** A field */
    objectId?: string;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectID>;
}
/** A message */
export declare class ObjectListAttributeValuesRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    objectId?: ObjectID;
    /** A field */
    requestedAttributes?: padlock__AttributeType[];
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectListAttributeValuesRequest>;
}
/** A message */
export declare class ObjectListAttributeValuesUpdate extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    attribute?: padlock__Attribute;
    /** A field */
    notFound?: padlock__AttributeType;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectListAttributeValuesUpdate>;
}
/** A message */
export declare class ObjectEncryptRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    objectId?: ObjectID;
    /** A field */
    mechs?: padlock__Mechanism[];
    /** A field */
    plainText?: Uint8Array;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectEncryptRequest>;
}
/** A message */
export declare class ObjectEncryptResponse extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    encrypted?: Uint8Array;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectEncryptResponse>;
}
/** A message */
export declare class ObjectEncryptSegmentedRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    first?: ObjectCryptoSegmentedInit;
    /** A field */
    messagePart?: Uint8Array;
    /** A field */
    last?: google.protobuf.Empty;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectEncryptSegmentedRequest>;
}
/** A message */
export declare class ObjectCryptoSegmentedInit extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    id?: ObjectID;
    /** A field */
    mechs?: padlock__Mechanism[];
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectCryptoSegmentedInit>;
}
/** A message */
export declare class ObjectEncryptSegmentedResponse extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    encryptedPart?: Uint8Array;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectEncryptSegmentedResponse>;
}
/** A message */
export declare class ObjectDecryptRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    objectId?: ObjectID;
    /** A field */
    mechs?: padlock__Mechanism[];
    /** A field */
    encrypted?: Uint8Array;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectDecryptRequest>;
}
/** A message */
export declare class ObjectDecryptResponse extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    plainText?: Uint8Array;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectDecryptResponse>;
}
/** A message */
export declare class ObjectDecryptSegmentedRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    first?: ObjectCryptoSegmentedInit;
    /** A field */
    messagePart?: Uint8Array;
    /** A field */
    last?: google.protobuf.Empty;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectDecryptSegmentedRequest>;
}
/** A message */
export declare class ObjectDecryptSegmentedResponse extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    plainTextPart?: Uint8Array;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectDecryptSegmentedResponse>;
}
/** A message */
export declare class ObjectSignRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    objectId?: ObjectID;
    /** A field */
    mechs?: padlock__Mechanism[];
    /** A field */
    message?: Uint8Array;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectSignRequest>;
}
/** A message */
export declare class ObjectSignResponse extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    signature?: Uint8Array;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectSignResponse>;
}
/** A message */
export declare class ObjectSignSegmentedRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    first?: ObjectCryptoSegmentedInit;
    /** A field */
    messagePart?: Uint8Array;
    /** A field */
    last?: google.protobuf.Empty;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectSignSegmentedRequest>;
}
/** A message */
export declare class ObjectSignSegmentedResponse extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    signature?: Uint8Array;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectSignSegmentedResponse>;
}
/** A message */
export declare class ObjectVerifyRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    objectId?: ObjectID;
    /** A field */
    mechs?: padlock__Mechanism[];
    /** A field */
    message?: Uint8Array;
    /** A field */
    signature?: Uint8Array;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectVerifyRequest>;
}
/** A message */
export declare class ObjectVerifyResponse extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    valid?: boolean;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectVerifyResponse>;
}
/** A message */
export declare class ObjectVerifySegmentedRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    first?: ObjectCryptoSegmentedInit;
    /** A field */
    messagePart?: Uint8Array;
    /** A field */
    signature?: Uint8Array;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectVerifySegmentedRequest>;
}
/** A message */
export declare class ObjectVerifySegmentedResponse extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    valid?: boolean;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectVerifySegmentedResponse>;
}
/** A message */
export declare class ObjectWrapKeyRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    wrappingKey?: ObjectID;
    /** A field */
    mechs?: padlock__Mechanism[];
    /** A field */
    keyToWrap?: ObjectID;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectWrapKeyRequest>;
}
/** A message */
export declare class ObjectWrapKeyResponse extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    wrapped?: Uint8Array;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectWrapKeyResponse>;
}
/** A message */
export declare class ObjectUnwrapKeyRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    objectId?: ObjectID;
    /** A field */
    mechs?: padlock__Mechanism[];
    /** A field */
    wrapped?: Uint8Array;
    /** A field */
    attributes?: padlock__Attribute[];
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectUnwrapKeyRequest>;
}
/** A message */
export declare class ObjectDestroyObjectRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    objectId?: ObjectID;
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectDestroyObjectRequest>;
}
/** A message */
export declare class ObjectDestroyObjectResponse extends Object implements tsjson.ProtoJSONCompatible {
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectDestroyObjectResponse>;
}
/** A message */
export declare class ObjectCopyObjectRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    objectId?: ObjectID;
    /** A field */
    attributes?: padlock__Attribute[];
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectCopyObjectRequest>;
}
/** A message */
export declare class ObjectCopyObjectResponse extends Object implements tsjson.ProtoJSONCompatible {
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectCopyObjectResponse>;
}
/** A message */
export declare class ObjectSetAttributeValuesRequest extends Object implements tsjson.ProtoJSONCompatible {
    /** A field */
    objectId?: ObjectID;
    /** A field */
    attributes?: padlock__Attribute[];
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectSetAttributeValuesRequest>;
}
/** A message */
export declare class ObjectSetAttributeValuesResponse extends Object implements tsjson.ProtoJSONCompatible {
    ToProtoJSON(): Object;
    static Parse(data: any): Promise<ObjectSetAttributeValuesResponse>;
}
//# sourceMappingURL=padlock.d.ts.map