import type { DataEncodedRecordsWriteMessage } from '../types/records-types.js'; import type { MessageStore } from '../types/message-store.js'; import type { Signer } from '../types/signer.js'; import type { ProtocolDefinition, ProtocolsConfigureMessage } from '../types/protocols-types.js'; import { AbstractMessage } from '../core/abstract-message.js'; export type ProtocolsConfigureOptions = { messageTimestamp?: string; definition: ProtocolDefinition; signer: Signer; /** * The delegated grant invoked to sign on behalf of the logical author, which is the grantor of the delegated grant. */ delegatedGrant?: DataEncodedRecordsWriteMessage; permissionGrantId?: string; }; export declare class ProtocolsConfigure extends AbstractMessage { static parse(message: ProtocolsConfigureMessage): Promise; static create(options: ProtocolsConfigureOptions): Promise; /** * Authorizes the author-delegate who signed this message. * @param messageStore Used to check if the grant has been revoked. */ authorizeAuthorDelegate(messageStore: MessageStore): Promise; /** * Performs validation on the given protocol definition that are not easy to do using a JSON schema. */ private static validateProtocolDefinition; private static validateStructure; /** * Parses the given rule set hierarchy to get all the role protocol paths. * @throws DwnError if the hierarchy depth goes beyond 10 levels. */ private static fetchAllRolePathsRecursively; /** * Validates the given rule set structure then recursively validates its nested child rule sets. */ private static validateRuleSetRecursively; private static normalizeDefinition; } //# sourceMappingURL=protocols-configure.d.ts.map