import type { CID } from 'multiformats';
import type { DidResolver } from '../did/did-resolver.js';
import type { GeneralJws } from '../types/jws-types.js';
import type { AuthorizationModel, Descriptor } from '../types/message-types.js';
export declare class Authenticate {
    /**
     * Verifies all the signature(s) within the authorization property.
     * @throws {Error} if fails authentication
     */
    static authenticate(authorizationModel: AuthorizationModel | undefined, didResolver: DidResolver): Promise<void>;
}
/**
 * Validates the structural integrity of the message signature given.
 * NOTE: signature is not verified.
 * @param payloadJsonSchemaKey The key to look up the JSON schema referenced in `compile-validators.js` and perform payload schema validation on.
 * @returns the parsed JSON payload object if validation succeeds.
 */
export declare function validateMessageSignatureIntegrity(messageSignature: GeneralJws, messageDescriptor: Descriptor, payloadJsonSchemaKey?: string): Promise<{
    descriptorCid: CID;
    [key: string]: any;
}>;
/**
 * Verifies all the signature(s) within the authorization property.
 * @throws {Error} if fails authentication
 */
export declare function authenticate(authorizationModel: AuthorizationModel | undefined, didResolver: DidResolver): Promise<void>;
/**
 * Authorizes the incoming message.
 * @throws {Error} if fails authentication
 */
export declare function authorize(tenant: string, incomingMessage: {
    author: string | undefined;
}): Promise<void>;
//# sourceMappingURL=auth.d.ts.map