/**
 * Peer-aware identity resolution (ADR 0036).
 *
 * Canonical `IdentityResolver` construction site: local identity/device keys
 * (pairing registry) ∪ the local peer graph (`~/.trellis/peers.json`).
 *
 * - Local path resolves exactly as `pairingResolver` today (device-level
 *   revocation via `revokedAt` unchanged).
 * - Peer path adds a registered peer's `publicKey` when `entityId`/`did`
 *   matches a peer record — unless the key is in the record's `revokedKeys`.
 * - A revoked key never resolves; a record whose own `publicKey` is revoked
 *   resolves to no keys (identity effectively unknown → verify fails closed).
 */
import type { IdentityResolver } from './signing-middleware.js';
/**
 * Build the composed resolver bound to a trellis directory: device registries
 * (person scope first, repo fallback — via `pairingResolver`) ∪ the local
 * peer graph (`~/.trellis/peers.json`). Always returns a resolver — an
 * identity with no keys anywhere resolves to nothing (fail-closed, ADR 0036).
 */
export declare function peerKeyResolver(trellisDir: string): IdentityResolver;
//# sourceMappingURL=peer-key-resolver.d.ts.map