import { DelegationSemantics, DelegationChain } from "./attenuation.js"; import { Ucan } from "./types.js"; import { Capability } from "./capability/index.js"; export interface IndexByAudience { [audienceDID: string]: Array<{ processedUcan: Ucan; capabilities: DelegationChain[]; }>; } export declare class Store { private index; private knownSemantics; constructor(knownSemantics: DelegationSemantics, index: IndexByAudience); static fromTokens(knownSemantics: DelegationSemantics, tokens: Iterable | AsyncIterable): Promise; add(ucan: Ucan): Promise; getByAudience(audience: string): Ucan[]; findByAudience(audience: string, predicate: (ucan: Ucan) => boolean): Ucan | null; findWithCapability(audience: string, requiredCapability: Capability, requiredIssuer: string): Iterable; }