import type { PermissionGrant } from '../protocols/permission-grant.js';
import type { ValidationStateReader } from '../types/validation-state-reader.js';
import type { ProtocolsConfigureMessage, ProtocolsQueryMessage } from '../types/protocols-types.js';
export declare class ProtocolsGrantAuthorization {
    /**
     * Authorizes the given ProtocolsConfigure in the scope of the DID given.
     */
    static authorizeConfigure(input: {
        protocolsConfigureMessage: ProtocolsConfigureMessage;
        expectedGrantor: string;
        expectedGrantee: string;
        permissionGrant: PermissionGrant;
        validationStateReader: ValidationStateReader;
    }): Promise<void>;
    /**
     * Authorizes the scope of a permission grant for a ProtocolsQuery message.
     * @param validationStateReader Used to check if the grant has been revoked.
     */
    static authorizeQuery(input: {
        expectedGrantor: string;
        expectedGrantee: string;
        incomingMessage: ProtocolsQueryMessage;
        permissionGrant: PermissionGrant;
        validationStateReader: ValidationStateReader;
    }): Promise<void>;
    /**
     * Verifies a ProtocolsConfigure against the scope of the given grant.
     */
    private static verifyScope;
}
//# sourceMappingURL=protocols-grant-authorization.d.ts.map