import { type ExternalLinksOptions } from "./remark-external-links.js"; export type UrlResolverContext = { kind: "link" | "image"; }; export type UrlResolver = (url: string, context: UrlResolverContext) => string | undefined; export type ParseOptions = { /** * When enabled, external links open in a new tab and get a safe rel. * * `true` applies defaults to all absolute http(s) links (treated as external). * You can pass an object to customize detection and attributes. * * @default false * * @example * parse(markdown, { externalLinks: true }) */ externalLinks?: boolean | ExternalLinksOptions; /** * Resolve relative URLs (images/links) against a base URL/path. * * @example * // Markdown: ![Architecture](./assets/architecture.jpg) * // Result: /blog/my-post/assets/architecture.jpg * parse(markdown, { assetBaseUrl: "/blog/my-post/" }) * * @example * // Markdown: [Intro](docs/intro) * // Result: https://example.com/docs/intro * parse(markdown, { assetBaseUrl: "https://example.com/" }) */ assetBaseUrl?: string; /** * Resolve Markdown link URLs before rendering. * * Return a string to override the URL. Return `undefined` to keep the * default behavior, including `assetBaseUrl` fallback for relative URLs. */ resolveHref?: UrlResolver; /** * Resolve Markdown image URLs before rendering. * * Return a string to override the URL. Return `undefined` to keep the * default behavior, including `assetBaseUrl` fallback for relative URLs. */ resolveSrc?: UrlResolver; }; export declare function parse(markdown: string, options?: ParseOptions): Promise<{ frontmatter: Record & { imports?: string[]; }; detectedCustomElements: string[]; html: string; }>; //# sourceMappingURL=parse.d.ts.map