class AbstractPolicy {
    // Static methods can't be defined in an interface
    static parse(
    // eslint-disable-next-line @typescript-eslint/no-unused-vars
    buff, 
    // eslint-disable-next-line @typescript-eslint/no-unused-vars
    bindingLength, 
    // eslint-disable-next-line @typescript-eslint/no-unused-vars
    type) {
        throw new Error('parsePolicy was not implemented');
    }
    constructor(type, binding) {
        this.type = type;
        this.binding = binding;
    }
    /**
     * Length of policy
     */
    getLength() {
        throw new Error('length was not implemented');
    }
    /**
     * Return the content of the policy
     */
    toBuffer() {
        throw new Error('toBuffer() was not implemented');
    }
}
AbstractPolicy.TYPE_BYTE_OFF = 0;
AbstractPolicy.TYPE_BYTE_LEN = 1;
AbstractPolicy.BODY_BYTE_OFF = 1;
AbstractPolicy.BODY_BYTE_MIN_LEN = 3;
AbstractPolicy.BODY_BYTE_MAX_LEN = 257;
AbstractPolicy.BINDING_BYTE_MIN_LEN = 8;
AbstractPolicy.BINDING_BYTE_MAX_LEN = 132;
export default AbstractPolicy;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RQb2xpY3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbmFub3RkZi9tb2RlbHMvUG9saWN5L0Fic3RyYWN0UG9saWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQWUsY0FBYztJQVkzQixrREFBa0Q7SUFDbEQsTUFBTSxDQUFDLEtBQUs7SUFDViw2REFBNkQ7SUFDN0QsSUFBZ0I7SUFDaEIsNkRBQTZEO0lBQzdELGFBQXFCO0lBQ3JCLDZEQUE2RDtJQUM3RCxJQUFpQjtRQUVqQixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELFlBQVksSUFBZ0IsRUFBRSxPQUFtQjtRQUMvQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTO1FBQ1AsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDTixNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFDcEQsQ0FBQzs7QUF4Q2UsNEJBQWEsR0FBRyxDQUFDLENBQUM7QUFDbEIsNEJBQWEsR0FBRyxDQUFDLENBQUM7QUFDbEIsNEJBQWEsR0FBRyxDQUFDLENBQUM7QUFDbEIsZ0NBQWlCLEdBQUcsQ0FBQyxDQUFDO0FBQ3RCLGdDQUFpQixHQUFHLEdBQUcsQ0FBQztBQUN4QixtQ0FBb0IsR0FBRyxDQUFDLENBQUM7QUFDekIsbUNBQW9CLEdBQUcsR0FBRyxDQUFDO0FBcUM3QyxlQUFlLGNBQWMsQ0FBQyJ9