import { OBJECT_IDENTIFIER, UTF8String } from "@wildboar/asn1"; import * as $ from "@wildboar/asn1/functional"; import { type ATTRIBUTE } from "../InformationFramework/ATTRIBUTE.oca.mjs"; /** * @summary MATCHING_RULE * @description * * ### ASN.1 Definition: * * ```asn1 * MATCHING-RULE ::= CLASS { * &ParentMatchingRules MATCHING-RULE OPTIONAL, * &AssertionType OPTIONAL, * &uniqueMatchIndicator ATTRIBUTE OPTIONAL, * &ldapSyntax SYNTAX-NAME.&id OPTIONAL, * &ldapName SEQUENCE SIZE(1..MAX) OF UTF8String OPTIONAL, * &ldapDesc UTF8String OPTIONAL, * &id OBJECT IDENTIFIER UNIQUE } * WITH SYNTAX { * [PARENT &ParentMatchingRules] * [SYNTAX &AssertionType] * [UNIQUE-MATCH-INDICATOR &uniqueMatchIndicator] * [LDAP-SYNTAX &ldapSyntax] * [LDAP-NAME &ldapName] * [LDAP-DESC &ldapDesc] * ID &id } * ``` * * @interface */ export interface MATCHING_RULE { /** * @summary A fixed string that can be used for external programs to determine the object class of this object. */ readonly class: "MATCHING-RULE"; /** * @summary A map of type fields to their corresponding decoders. */ readonly decoderFor: Partial<{ [_K in keyof MATCHING_RULE]: $.ASN1Decoder[_K]>; }>; /** * @summary A map of type fields to their corresponding encoders. */ readonly encoderFor: Partial<{ [_K in keyof MATCHING_RULE]: $.ASN1Encoder[_K]>; }>; /** * @summary &ParentMatchingRules */ readonly "&ParentMatchingRules"?: MATCHING_RULE[]; /** * @summary &AssertionType */ readonly "&AssertionType": AssertionType; /** * @summary &uniqueMatchIndicator */ readonly "&uniqueMatchIndicator"?: ATTRIBUTE; /** * @summary &ldapSyntax */ readonly "&ldapSyntax"?: OBJECT_IDENTIFIER; /** * @summary &ldapName */ readonly "&ldapName"?: UTF8String[]; /** * @summary &ldapDesc */ readonly "&ldapDesc"?: UTF8String; /** * @summary &id */ readonly "&id": OBJECT_IDENTIFIER; } //# sourceMappingURL=MATCHING-RULE.oca.d.mts.map