UNPKG

1.35 kBTypeScriptView Raw
1import { AkteFiles, type FilesDataFn, type FilesDefinition } from "./AkteFiles";
2import type { Empty } from "./types";
3type FileDefinition<TGlobalData, TData> = Omit<FilesDefinition<TGlobalData, never[], TData>, "bulkData">;
4/**
5 * Creates an Akte files instance for a single file.
6 *
7 * @example
8 * const posts = defineAkteFile().from({
9 * path: "/about",
10 * data() {
11 * return {};
12 * },
13 * render(context) {
14 * return "...";
15 * },
16 * });
17 *
18 * @typeParam TGlobalData - Global data the Akte files expects.
19 * @typeParam TData - Data the Akte files expects (inferred by default)
20 * @returns A factory to create the Akte files from.
21 */
22export declare const defineAkteFile: <TGlobalData, TData = Empty>() => {
23 /**
24 * Creates an Akte files instance for a single file from a definition.
25 *
26 * @param definition - The definition to create the instance from.
27 * @returns The created Akte files.
28 */
29 from: <_TGlobalData extends TGlobalData, _TData extends TData extends Empty ? _TDataFn extends FilesDataFn<_TGlobalData, never[], unknown> ? Awaited<ReturnType<_TDataFn>> : undefined : TData, _TDataFn extends FilesDataFn<_TGlobalData, never[], unknown> | undefined>(definition: FileDefinition<_TGlobalData, _TData>) => AkteFiles<_TGlobalData, never[], _TData>;
30};
31export {};