1 | import { AkteFiles, type FilesBulkDataFn, type FilesDataFn, type FilesDefinition } from "./AkteFiles";
|
2 | import type { Empty } from "./types";
|
3 | /**
|
4 | * Creates an Akte files instance.
|
5 | *
|
6 | * @example
|
7 | * const posts = defineAkteFiles().from({
|
8 | * path: "/posts/:slug",
|
9 | * bulkData() {
|
10 | * return {
|
11 | * "/posts/foo": {},
|
12 | * "/posts/bar": {},
|
13 | * "/posts/baz": {},
|
14 | * };
|
15 | * },
|
16 | * render(context) {
|
17 | * return "...";
|
18 | * },
|
19 | * });
|
20 | *
|
21 | * @typeParam TGlobalData - Global data the Akte files expects.
|
22 | * @typeParam TParams - Parameters the Akte files expects.
|
23 | * @typeParam TData - Data the Akte files expects (inferred by default)
|
24 | * @returns A factory to create the Akte files from.
|
25 | */
|
26 | export declare const defineAkteFiles: <TGlobalData, TParams extends Empty | string[] = Empty, TData = Empty>() => {
|
27 | /**
|
28 | * Creates an Akte files instance from a definition.
|
29 | *
|
30 | * @param definition - The definition to create the instance from.
|
31 | * @returns The created Akte files.
|
32 | */
|
33 | from: <_TGlobalData extends TGlobalData, _TParams extends TParams extends Empty ? _TDataFn extends FilesDataFn<_TGlobalData, string[], unknown> ? Exclude<keyof Parameters<_TDataFn>[0]["params"], number | Symbol>[] : string[] : TParams, _TData extends TData extends Empty ? _TDataFn extends FilesDataFn<_TGlobalData, string[], unknown> ? Awaited<ReturnType<_TDataFn>> : _TBulkDataFn extends FilesBulkDataFn<_TGlobalData, unknown> ? Awaited<ReturnType<_TBulkDataFn>>[keyof Awaited<ReturnType<_TBulkDataFn>>] : undefined : TData, _TDataFn extends FilesDataFn<_TGlobalData, string[], unknown> | undefined, _TBulkDataFn extends _TDataFn extends FilesDataFn<_TGlobalData, string[], unknown> ? FilesBulkDataFn<_TGlobalData, Awaited<ReturnType<_TDataFn>>> | undefined : FilesBulkDataFn<_TGlobalData, unknown> | undefined>(definition: FilesDefinition<_TGlobalData, _TParams, _TData>) => AkteFiles<_TGlobalData, _TParams, _TData>;
|
34 | };
|