import type { Address } from '@agenticprimitives/types'; import type { ContentDescriptor, CanonicalReference, RightsStatus, TrustProfile } from './types.js'; export interface ResolutionConstraints { contentType?: string; language?: string; /** Acceptable rights postures (e.g. ['public-domain']). */ rightsStatus?: RightsStatus[]; trustProfile?: TrustProfile; } /** A descriptor plus the profile/constraint screening outcome (pre-verification). */ export interface Candidate { descriptor: ContentDescriptor; /** True iff the descriptor's issuer is in the active trust profile's allowlist. */ issuerTrusted: boolean; /** True iff the descriptor passed all constraint filters. */ admitted: boolean; /** Why a candidate was screened out (when !admitted). */ reason?: string; } export interface ResolutionResult { canonicalReference: CanonicalReference; candidates: Candidate[]; } /** A trust profile = an issuer allowlist + posture flags. Phase 1 wires * `public-domain-demo` only; the rest are reserved shapes (spec 266 §policy). */ export interface TrustProfileConfig { profile: TrustProfile; /** Issuer Smart Agent addresses trusted under this profile. Empty = trust none. */ trustedIssuers: Address[]; /** If set, only these rights postures are admitted. */ allowedRightsStatus?: RightsStatus[]; /** If true, an untrusted issuer is screened out (admitted=false). */ requireTrustedIssuer: boolean; } /** * Screen descriptors for a canonical reference into a candidate set under a * trust profile + constraints. Pure + deterministic. Does NOT verify signatures * (that is the caller's per-candidate step) — it screens *eligibility*. */ export declare function resolveCandidates(reference: CanonicalReference, descriptors: ContentDescriptor[], profile: TrustProfileConfig, constraints?: ResolutionConstraints): ResolutionResult; //# sourceMappingURL=resolution.d.ts.map