var AuthorityInfoAccessSyntax_1;
import { __decorate } from "tslib";
import { AsnProp, AsnPropTypes, AsnArray, AsnType, AsnTypeTypes, } from "@peculiar/asn1-schema";
import { GeneralName } from "../general_name.js";
import { id_pe } from "../object_identifiers.js";
export const id_pe_authorityInfoAccess = `${id_pe}.1`;
export class AccessDescription {
    accessMethod = "";
    accessLocation = new GeneralName();
    constructor(params = {}) {
        Object.assign(this, params);
    }
}
__decorate([
    AsnProp({ type: AsnPropTypes.ObjectIdentifier })
], AccessDescription.prototype, "accessMethod", void 0);
__decorate([
    AsnProp({ type: GeneralName })
], AccessDescription.prototype, "accessLocation", void 0);
let AuthorityInfoAccessSyntax = AuthorityInfoAccessSyntax_1 = class AuthorityInfoAccessSyntax extends AsnArray {
    constructor(items) {
        super(items);
        Object.setPrototypeOf(this, AuthorityInfoAccessSyntax_1.prototype);
    }
};
AuthorityInfoAccessSyntax = AuthorityInfoAccessSyntax_1 = __decorate([
    AsnType({
        type: AsnTypeTypes.Sequence, itemType: AccessDescription,
    })
], AuthorityInfoAccessSyntax);
export { AuthorityInfoAccessSyntax };
