import { type BuiltInFeatureId, type CapabilityDescriptor, type FeatureId } from '../backend-contract/capabilities'; import type { IpcCapabilitySnapshotV2 } from '../ipc/protocol'; interface CapabilitySource { capability(id: FeatureId): CapabilityDescriptor | null; capabilities(): readonly CapabilityDescriptor[]; } export interface BleCapabilities { /** True when the feature is implemented and invocable. Inspect get(id) for any limitations. */ supports(id: BuiltInFeatureId): boolean; /** Returns undefined for an unknown extension identifier. */ get(id: FeatureId): CapabilityDescriptor | undefined; require(id: BuiltInFeatureId): CapabilityDescriptor; list(): readonly CapabilityDescriptor[]; } export declare function assertDirectConnectionCapability(descriptor: CapabilityDescriptor | null | undefined, operation: string): void; export declare class PublicBleCapabilities implements BleCapabilities { private readonly internal; constructor(internal: CapabilitySource); supports(id: BuiltInFeatureId): boolean; get(id: FeatureId): CapabilityDescriptor | undefined; require(id: BuiltInFeatureId): CapabilityDescriptor; list(): readonly CapabilityDescriptor[]; } /** Projects a complete trusted-host snapshot without reconstructing evidence or TCK data. */ export declare function createPublicBleCapabilities(snapshot: IpcCapabilitySnapshotV2, expectedBackendGeneration: string, requireCatalogComplete?: boolean): PublicBleCapabilities; export type { BuiltInFeatureId, CapabilityDescriptor, FeatureId } from '../backend-contract/capabilities'; //# sourceMappingURL=capabilities.d.ts.map