import type { Signer } from '../types/signer.js';
import type { ProtocolDefinition, ProtocolsConfigureMessage } from '../types/protocols-types.js';
import { Message } from '../core/message.js';
export type ProtocolsConfigureOptions = {
    messageTimestamp?: string;
    definition: ProtocolDefinition;
    signer: Signer;
    permissionsGrantId?: string;
};
export declare class ProtocolsConfigure extends Message<ProtocolsConfigureMessage> {
    readonly author: string;
    static parse(message: ProtocolsConfigureMessage): Promise<ProtocolsConfigure>;
    static create(options: ProtocolsConfigureOptions): Promise<ProtocolsConfigure>;
    private static validateProtocolDefinition;
    private static validateStructure;
    /**
     * Validates the given rule set structure then recursively validates its nested child rule sets.
     */
    private static validateRuleSet;
    private static normalizeDefinition;
}
//# sourceMappingURL=protocols-configure.d.ts.map