diff options
Diffstat (limited to 'packages/integrations/markdoc/src/config.ts')
-rw-r--r-- | packages/integrations/markdoc/src/config.ts | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/packages/integrations/markdoc/src/config.ts b/packages/integrations/markdoc/src/config.ts index 23ff744f7..2c2f2c677 100644 --- a/packages/integrations/markdoc/src/config.ts +++ b/packages/integrations/markdoc/src/config.ts @@ -1,12 +1,26 @@ -import type { ConfigType as MarkdocConfig } from '@markdoc/markdoc'; +import type { AstroInstance } from 'astro'; +import type { + ConfigType as MarkdocConfig, + Config, + NodeType, + Schema, + MaybePromise, +} from '@markdoc/markdoc'; import _Markdoc from '@markdoc/markdoc'; import { heading } from './heading-ids.js'; -export type AstroMarkdocConfig<C extends Record<string, any> = Record<string, any>> = - MarkdocConfig & { - ctx?: C; - extends?: ResolvedAstroMarkdocConfig[]; - }; +type Render = AstroInstance['default'] | string; + +export type AstroMarkdocConfig<C extends Record<string, any> = Record<string, any>> = Omit< + MarkdocConfig, + 'tags' | 'nodes' +> & + Partial<{ + tags: Record<string, Schema<Config, Render>>; + nodes: Partial<Record<NodeType, Schema<Config, Render>>>; + ctx: C; + extends: MaybePromise<ResolvedAstroMarkdocConfig>[]; + }>; export type ResolvedAstroMarkdocConfig = Omit<AstroMarkdocConfig, 'extends'>; |