import { OBJECT_IDENTIFIER } from "@wildboar/asn1"; import * as $ from "@wildboar/asn1/functional"; import { type OP_BIND_ROLE } from "../OperationalBindingManagement/OP-BIND-ROLE.oca.mjs"; import { type OP_BINDING_COOP } from "../OperationalBindingManagement/OP-BINDING-COOP.oca.mjs"; /** * @summary OPERATIONAL_BINDING * @description * * ### ASN.1 Definition: * * ```asn1 * OPERATIONAL-BINDING ::= CLASS { * &Agreement , * &Cooperation OP-BINDING-COOP, * &both OP-BIND-ROLE OPTIONAL, * &roleA OP-BIND-ROLE OPTIONAL, * &roleB OP-BIND-ROLE OPTIONAL, * &id OBJECT IDENTIFIER UNIQUE } * WITH SYNTAX { * AGREEMENT &Agreement * APPLICATION CONTEXTS &Cooperation * [SYMMETRIC &both] * [ASYMMETRIC * [ROLE-A &roleA] * [ROLE-B &roleB]] * ID &id } * ``` * * @interface */ export interface OPERATIONAL_BINDING { /** * @summary A fixed string that can be used for external programs to determine the object class of this object. */ readonly class: "OPERATIONAL-BINDING"; /** * @summary A map of type fields to their corresponding decoders. */ readonly decoderFor: Partial<{ [_K in keyof OPERATIONAL_BINDING]: $.ASN1Decoder[_K]>; }>; /** * @summary A map of type fields to their corresponding encoders. */ readonly encoderFor: Partial<{ [_K in keyof OPERATIONAL_BINDING]: $.ASN1Encoder[_K]>; }>; /** * @summary &Agreement */ readonly "&Agreement": Agreement; /** * @summary &Cooperation */ readonly "&Cooperation"?: OP_BINDING_COOP[]; /** * @summary &both */ readonly "&both"?: OP_BIND_ROLE; /** * @summary &roleA */ readonly "&roleA"?: OP_BIND_ROLE; /** * @summary &roleB */ readonly "&roleB"?: OP_BIND_ROLE; /** * @summary &id */ readonly "&id"?: OBJECT_IDENTIFIER; } //# sourceMappingURL=OPERATIONAL-BINDING.oca.d.mts.map