declare module '@it-astro:content' { export { z } from 'astro/zod'; export { reference } from 'astro:content'; export type { SchemaContext, CollectionEntry, ContentCollectionKey, CollectionKey, } from 'astro:content'; export { defineCollection } from '@inox-tools/content-utils/runtime/fancyContent'; } declare module '@it-astro:content/injector' { import type { defineCollection } from 'astro:content'; import type { FancyCollection } from '@inox-tools/content-utils/runtime/fancyContent'; export type CollectionConfig = ReturnType; export const injectedCollections: Record; } declare module '@it-astro:content/git' { import type { GitAuthor } from '@inox-tools/content-utils/runtime/git'; export type EntryKey = | [collection: string, idOrSlug: string] | [{ collection: string; id: string }] | [{ collection: string; slug: string }]; export type GitTrackingInfo = { earliest: Date; latest: Date; authors: GitAuthor[]; coAuthors: GitAuthor[]; }; /** * Retrieve the latest commit that changed a Content Collection Entry. * * If the entry was never committed, returns a memoized `new Date()`. */ export function getLatestCommitDate(...args: EntryKey): Promise; /** * Retrieve the oldest commit that changed a Content Collection Entry. * * If the entry was never committed, returns a memoized `new Date()`. */ export function getOldestCommitDate(...args: EntryKey): Promise; /** * Retrieve the Git information about a Content Collection Entry. * * If the entry was never committed, returns `undefined`. */ export function getEntryGitInfo(...args: EntryKey): Promise; } declare namespace Astro { export interface IntegrationHooks { '@it/content:git:resolved'?: (params: { logger: import('astro').AstroIntegrationLogger; file: string; fileInfo: import('@it-astro:content/git').GitTrackingInfo; drop: () => void; }) => Promise | void; '@it/content:git:listed'?: (params: { logger: import('astro').AstroIntegrationLogger; trackedFiles: string[]; ignoreFiles: (files: string[]) => void; }) => Promise | void; } }