import { type MethodRegistry } from '@kokuin/token'; import type { StoreProvider } from '@kubun/db'; import type { CatalogContext, CatalogUpstreamLookup, CatalogUpstreamStatus } from '@kubun/graphql'; import { DocumentNotHoldableError } from '@kubun/store-graph'; import type { CatalogAPIDeps } from './catalog-contract.js'; import { type CatalogRuleInput } from './catalog-rules.js'; export type CatalogCreateInput = { name: string; description?: string; rules: Array; app?: string; }; export type CatalogUpdateInput = { name?: string; description?: string; rules?: Array; }; export declare class CatalogWriteDeniedError extends Error { constructor(); } export declare class CatalogDraftExistsError extends Error { get code(): string; constructor(); } export declare class CatalogVersionPageError extends Error { constructor(message?: string, options?: ErrorOptions); } export declare class DocumentHoldDeniedError extends Error { get code(): string; constructor(); } /** Device levels are this device's storage settings: only its identity or controller sets them. */ export declare class CatalogDeviceLevelDeniedError extends Error { get code(): string; constructor(); } export declare class DocumentHoldInvalidExpiryError extends Error { get code(): string; constructor(); } export { DocumentNotHoldableError }; export type CatalogUpstreamStatusParams = { provider: StoreProvider; catalogID: string; methods?: MethodRegistry; lookup?: CatalogUpstreamLookup; }; /** Held merge inputs retain their admission validity after signer revocation. */ export declare function catalogUpstreamStatus(params: CatalogUpstreamStatusParams): Promise; export declare function createCatalogAPI(deps: CatalogAPIDeps): CatalogContext;