import * as $ from "asn1-ts/dist/node/functional";
/**
 * @summary OPEN
 * @description
 *
 * ### ASN.1 Definition:
 *
 * ```asn1
 * OPEN ::= CLASS {&Type
 * }WITH SYNTAX {TYPE &Type
 * }
 * ```
 *
 * @interface
 */
export interface OPEN<Type = any> {
    /**
     * @summary A fixed string that can be used for external programs to determine the object class of this object.
     */
    readonly class: "OPEN";
    /**
     * @summary A map of type fields to their corresponding decoders.
     */
    readonly decoderFor: Partial<{
        [_K in keyof OPEN<Type>]: $.ASN1Decoder<OPEN<Type>[_K]>;
    }>;
    /**
     * @summary A map of type fields to their corresponding encoders.
     */
    readonly encoderFor: Partial<{
        [_K in keyof OPEN<Type>]: $.ASN1Encoder<OPEN<Type>[_K]>;
    }>;
    /**
     * @summary &Type
     */
    readonly "&Type": Type;
}
