import { fields as fields$1, DocumentElement } from '@keystatic/core';

type Fields = typeof fields$1;
type ModifyFields = Omit<Fields, "date" | "datetime"> & {
    date: (config: Parameters<Fields["date"]>[0] & {
        updatingValue?: string | {
            kind: "now";
        };
    }) => ReturnType<Fields["date"]>;
    datetime: (config: Parameters<Fields["datetime"]>[0] & {
        updatingValue?: string | {
            kind: "now";
        };
    }) => ReturnType<Fields["datetime"]>;
};
declare const fields: ModifyFields;

interface TocData {
    name: string;
    slug: string;
    link: string;
    step: number;
    level: number;
    children: ReadonlyArray<TocData>;
}
interface DocumentData {
    document: ReadonlyArray<DocumentElement>;
    headings: ReadonlyArray<TocData>;
    contents: string;
    excerpts: string;
}
interface PaginationData<T> {
    page: (index: number) => ReadonlyArray<T>;
    items: ReadonlyArray<ReadonlyArray<T>>;
    pages: number;
    total: number;
}
declare const utils: {
    document(body: ReadonlyArray<DocumentElement>): DocumentData;
    pagination<T = any>(size: number, items: readonly T[]): PaginationData<T>;
};

export { type DocumentData, type Fields, type ModifyFields, type PaginationData, type TocData, fields, utils };
