/**
 * Cross-cutting constants that are shared between modules which cannot directly
 * import each other without creating circular dependencies.
 */
/**
 * Well-known protocol path for permission grant revocation records.
 * Defined here (rather than on `PermissionsProtocol`) to avoid circular
 * dependencies between `grant-authorization.ts` and `protocols/permissions.ts`.
 */
export declare const PERMISSIONS_REVOCATION_PATH = "grant/revocation";
/**
 * The DWN Permissions protocol URI.
 */
export declare const PERMISSIONS_PROTOCOL_URI = "https://identity.foundation/dwn/permissions";
/**
 * The DWN Encryption protocol URI.
 */
export declare const ENCRYPTION_PROTOCOL_URI = "https://identity.foundation/dwn/protocols/encryption";
/**
 * Reserved virtual protocol path root for source-protocol-native encryption
 * control records.
 */
export declare const ENCRYPTION_CONTROL_ROOT_PATH = "$encryption";
/**
 * Reserved protocol path for role-audience public keys and owner seals.
 */
export declare const ENCRYPTION_CONTROL_AUDIENCE_PATH = "$encryption/audience";
/**
 * Reserved protocol path for role-audience key deliveries.
 */
export declare const ENCRYPTION_CONTROL_DELIVERY_PATH = "$encryption/delivery";
/**
 * Fixed JSON schema URI for source-protocol audience control records.
 */
export declare const ENCRYPTION_CONTROL_AUDIENCE_SCHEMA_URI = "https://identity.foundation/dwn/json-schemas/encryption/audience.json";
/**
 * Fixed JSON schema URI for source-protocol delivery control records.
 */
export declare const ENCRYPTION_CONTROL_DELIVERY_SCHEMA_URI = "https://identity.foundation/dwn/json-schemas/encryption/delivery.json";
/**
 * Reserved encryption control protocol paths.
 */
export declare const ENCRYPTION_CONTROL_PATHS: readonly ["$encryption/audience", "$encryption/delivery"];
export type EncryptionControlPath = typeof ENCRYPTION_CONTROL_PATHS[number];
export declare enum EncryptionControlRecordType {
    Audience = "audience",
    Delivery = "delivery"
}
/**
 * Returns true when the protocol path is one of the exact reserved encryption
 * control paths.
 */
export declare function isEncryptionControlPath(protocolPath: string | undefined): protocolPath is EncryptionControlPath;
/**
 * Returns the encryption control record type for exact reserved paths.
 */
export declare function getEncryptionControlRecordType(protocolPath: EncryptionControlPath): EncryptionControlRecordType;
/**
 * Returns true for infrastructure protocols whose records are dependencies or
 * authorization metadata, not primary application records for projection roots.
 */
export declare function isRecordsPrimaryProjectionExcludedProtocol(protocol: string | undefined): boolean;
//# sourceMappingURL=constants.d.ts.map