import type { DocumentModel, DocumentNode } from '@kubun/protocol'; import { parseCatalogDuration } from '@kubun/protocol'; export type { AssignCatalogRuleIDsParams } from '@kubun/store-graph'; export { assignCatalogRuleIDs, canonicalCatalogRuleContent } from '@kubun/store-graph'; export { parseCatalogDuration }; export type CatalogRuleInput = Omit & { id?: string; }; export type CatalogRule = { id: string; models?: Array; owners?: Array; maxAge?: string; maxAhead?: string; dateField?: string; }; export type Catalog = { name: string; description?: string; rules: Array; app?: string; }; export type CatalogRef = { owner: string; id: string; }; export declare class CatalogRuleError extends Error { get code(): 'INVALID_CATALOG_RULE'; constructor(message: string, options?: ErrorOptions); } export declare class CatalogRuleLimitExceededError extends Error { get code(): 'CATALOG_RULE_LIMIT_EXCEEDED'; constructor(); } export declare class CatalogRulesEmptyError extends Error { get code(): 'CATALOG_RULES_EMPTY'; constructor(); } export declare function validateCatalog(catalog: Catalog): void; export declare function resolveRuleDateField(rule: CatalogRule, model: DocumentModel, interfaces?: ReadonlyArray): string | null; export declare function parseCatalogDate(value: unknown): number | null; export declare function matchesCatalogRule(rule: CatalogRule, doc: DocumentNode, nowMS: number): boolean;