summaryrefslogtreecommitdiff
path: root/packages/integrations/markdoc/src/config.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/markdoc/src/config.ts')
-rw-r--r--packages/integrations/markdoc/src/config.ts26
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'>;