import AbstractPolicy from './AbstractPolicy.js';
import { EmbeddedPolicyInterface } from '../../interfaces/PolicyInterface.js';
import PolicyTypes from '../../enum/PolicyTypeEnum.js';
/**
 * Embedded Policy
 *
 * These policy types allow for creation and binding of arbitrary policies.
 *
 * | Section                      | Minimum Length (B) | Maximum Length (B) |
 * |------------------------------|--------------------|--------------------|
 * | Content Length               | 2                  | 2                  |
 * | Plaintext/Ciphertext         | 1                  | 255                |
 * | (Optional) Policy Key Access | 36                 | 136                |
 */
declare class EmbeddedPolicy extends AbstractPolicy implements EmbeddedPolicyInterface {
    static MAX_POLICY_SIZE: number;
    readonly content: Uint8Array;
    static parse(buff: Uint8Array, bindingLength: number, type: PolicyTypes): {
        offset: number;
        policy: EmbeddedPolicy;
    };
    constructor(type: PolicyTypes, binding: Uint8Array, content: Uint8Array);
    /**
     * Length of policy
     *
     * @returns { number } length
     */
    getLength(): number;
    /**
     * Return the content of the policy
     */
    toBuffer(): Uint8Array;
}
export default EmbeddedPolicy;
//# sourceMappingURL=EmbeddedPolicy.d.ts.map