import type * as core from '@contentlayer2/core'; import type { RelativePosixFilePath } from '@contentlayer2/utils'; import type { Has } from '@contentlayer2/utils/effect'; import { T } from '@contentlayer2/utils/effect'; import type { RawDocumentData } from '../types.js'; import type { RawContent } from './types.js'; /** `DocumentContext` is meant as a "container object" that provides useful information when processing a document */ export interface DocumentContext { readonly rawContent: RawContent; readonly relativeFilePath: RelativePosixFilePath; readonly rawDocumentData: RawDocumentData; readonly documentTypeDef: core.DocumentTypeDef; } export declare const DocumentContext: import("@effect-ts/system/Has/index.js").Tag; export declare const provideDocumentContext: (_: DocumentContext) => (ma: T.Effect, E1, A1>) => T.Effect; export declare const makeAndProvideDocumentContext: ({ rawContent, relativeFilePath, documentTypeDef, }: Omit) => (ma: T.Effect, E1, A1>) => T.Effect; export declare const getFromDocumentContext: (key: K) => T.Effect, never, DocumentContext[K]>; export declare const getDocumentContext: T.Effect, never, DocumentContext>; export type HasDocumentContext = Has; //# sourceMappingURL=DocumentContext.d.ts.map