import type { GenericMessage, GenericSignaturePayload } from '@enbox/dwn-sdk-js';
export declare function getRoleContextPrefix(protocolPath: string, contextId?: string): string | undefined;
export declare function getRoleKey(protocol: string, protocolPath: string, recipient: string, contextPrefix?: string): string;
export declare function getSignaturePayload(message: GenericMessage): GenericSignaturePayload | undefined;
/**
 * Builds a dependency graph from the fetched messages and returns them in
 * dependency order so that dependencies are processed before dependents.
 *
 * Dependencies:
 * - ProtocolsConfigure must come before any RecordsWrite using that protocol
 * - Composed ProtocolsConfigure must come after ProtocolsConfigure messages for protocols in `uses`
 * - Parent record must come before child record (via parentId)
 * - Initial write must come before update writes (same recordId, not initial)
 * - Permission grants must come before messages that invoke them
 */
export declare function orderMessagesForAdmission<T extends {
    message: GenericMessage;
}>(messages: T[]): T[];
//# sourceMappingURL=sync-admission-order.d.ts.map