import type { JSONNode, JSONRecord } from '@redneckz/json-op'; import type { FileAPI, FilePath, ListFilesOptions } from './api/FileAPI'; import { FileStorageAPI, type FileStorageOptions } from './api/FileStorageAPI'; import { type TransformationOptions } from './transformJSONContent/TransformationOptions'; export declare const PAGE_EXT = ".page.json"; export type Slug = string[]; export type ContentPageRepositoryOptions = TransformationOptions & FileStorageOptions & { pageExt?: string; }; export declare class ContentPageRepository implements FileAPI { private readonly options; private readonly storageAPI; static readonly inst: ContentPageRepository; get pageExt(): string; constructor(options?: ContentPageRepositoryOptions, storageAPI?: FileStorageAPI); listFiles(options: ListFilesOptions): Promise; downloadFiles(options: ListFilesOptions): Promise<[FilePath, JSONNode][]>; countFiles(options: ListFilesOptions): Promise; readJSON(relativePath: FilePath): Promise; listAllSlugs(): Promise; listErrorSlugs(): Promise; generatePage(slug: Slug, options?: Partial): Promise; toSlug(filePath: string): Slug; toFilePath(slug: Slug): string; private allSlugs; }