import type { ViewerPermissionV1, ViewerSurfaceV1 } from '@xyo-network/payload-viewer-protocol'; import { type PayloadViewerCryptoV1 } from './crypto.js'; import type { EnabledInstalledViewerV1, PayloadViewerArtifactCacheV1, PayloadViewerStoreStateStorageV1, PayloadViewerStoreStateV1, VerifiedViewerCatalogV1, VerifiedViewerVersionV1 } from './types.js'; /** Construction options for {@link PayloadViewerStoreV1}. */ export interface PayloadViewerStoreOptionsV1 { artifactCache?: PayloadViewerArtifactCacheV1; crypto?: PayloadViewerCryptoV1; now?: () => Date; storage?: PayloadViewerStoreStateStorageV1; } /** Installs, enables, and resolves verified payload viewer plugins against a catalog. */ export declare class PayloadViewerStoreV1 { private readonly artifactCache; private catalog?; private readonly crypto; private readonly now; private state; private readonly storage; private constructor(); static create(options?: PayloadViewerStoreOptionsV1): Promise; snapshot(): PayloadViewerStoreStateV1; applyCatalog(verifiedCatalog: VerifiedViewerCatalogV1): Promise; install(version: VerifiedViewerVersionV1, approvedPermissions: readonly ViewerPermissionV1[]): Promise; enable(pluginId: string): Promise; disable(pluginId: string): Promise; update(version: VerifiedViewerVersionV1, approvedPermissions?: readonly ViewerPermissionV1[]): Promise; markWorking(pluginId: string, versionValue?: string): Promise; rollback(pluginId: string, versionValue: string): Promise; setGrantedPermissions(pluginId: string, permissions: readonly ViewerPermissionV1[]): Promise; setDefault(schema: string, surface: ViewerSurfaceV1, viewerId: string): Promise; clearDefault(schema: string, surface: ViewerSurfaceV1): Promise; resolveDefault(schema: string, surface: ViewerSurfaceV1): EnabledInstalledViewerV1 | undefined; enabledViewers(): EnabledInstalledViewerV1[]; getCurrentArtifact(pluginId: string): Promise>; private getArtifact; uninstall(pluginId: string): Promise; private assertCatalogVersion; private assertInstalledVersionAllowed; private assertPermissions; private assertSupportedPermissions; private catalogVersion; private clearInvalidDefaults; private currentVersion; private installedVersion; private isInstalledVersionAllowed; private plugin; private persist; private requiredPlugin; private requiredVersion; } //# sourceMappingURL=PayloadViewerStore.d.ts.map