import { PageMetadata } from "../contentStore";
import { MakeGitHubDataSourceArgs } from "./GitHubDataSource";
export type MakeMdOnGithubDataSourceParams = Omit<MakeGitHubDataSourceArgs, "handleDocumentInRepo"> & {
    /**
      Transform a filepath in the repo to a full URL for the corresponding Page object.
     */
    pathToPageUrl: (pathInRepo: string, frontMatter?: Record<string, unknown>) => string;
    filter?: MakeGitHubDataSourceArgs["filter"];
    /**
      Metadata to include with all Pages in DB.
     */
    metadata?: PageMetadata;
    /**
      Front matter configuration. Looks for metadata by default.
      @default
      { process: true, separator: "---", format: "yaml" }
     */
    frontMatter?: {
        /**
          Whether to process front matter. Defaults to `true`.
         */
        process: boolean;
        /**
          Separator character used by front matter. Usually "---" or "+++". Default is "---".
         */
        separator?: string;
        /**
          Front matter format. Usually "yaml" or "toml". Default is "yaml".
         */
        format?: string;
    };
    /**
      Extract metadata from page content and front matter (if it exists). Added to the `Page.metadata` field.
      If a key in the returned object from `extractMetadata()` is the same as a key in `metadata`,
      the `extractMetadata()` key will override it.
     */
    extractMetadata?: (pageContent: string, frontMatter?: Record<string, unknown>) => PageMetadata;
    /**
      Extract title from page content and front matter (if it exists). Added to the `Page.title` field.
      If not specified, the first Markdown H1 (e.g. "# Some Title") in the page content will be used.
     */
    extractTitle?: (pageContent: string, frontMatter?: Record<string, unknown>) => string | undefined;
};
/**
  Loads an .md/.mdx docs site from a GitHub repo.
 */
export declare const makeMdOnGithubDataSource: ({ name, repoUrl, repoLoaderOptions, pathToPageUrl, filter, metadata, frontMatter, extractMetadata, extractTitle, }: MakeMdOnGithubDataSourceParams) => Promise<import("./DataSource").DataSource>;
//# sourceMappingURL=MdOnGithubDataSource.d.ts.map