interface TagsProperty { type: 'tags' key: K title: string omitEmpty?: boolean } interface PlainProperty { type: 'plain' key: K title: string omitEmpty?: boolean } interface DatetimeProperty { type: 'datetime' key: K title: string formatAsFrom?: boolean dateFnsLocaleName?: import('./types').LocaleName format?: string omitEmpty?: boolean } interface ProgressProperty { type: 'progress' key: K title: string omitEmpty?: boolean } interface LinkProperty { type: 'link' key: K title: string omitEmpty?: boolean } interface DynamicProperty { type: 'dynamic' key: K | string title: string options: | DynamicWordsCountProperty | DynamicReadingTimeProperty } interface DynamicWordsCountProperty { type: 'wordsCount' } interface DynamicReadingTimeProperty { type: 'readingTime' dateFnsLocaleName?: import('./types').LocaleName } type Property = | TagsProperty | PlainProperty | DatetimeProperty | ProgressProperty | LinkProperty | DynamicProperty type PropertyType = Property['type'] type DynamicPropertyType = DynamicProperty['options']['type'] declare module 'virtual:nolebase-page-properties' { const pagePropertiesData: Record export default pagePropertiesData }