@upstart.gg/sdk 0.0.81 → 0.0.82

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,30 +1,21 @@
1
- import { type Attributes } from "./attributes";
1
+ import { type Attributes, defaultAttributesSchema } from "./attributes";
2
2
  import { type Section, type Brick } from "./bricks";
3
- import { type Theme } from "./theme";
4
- import { type Static, type TObject, type TProperties } from "@sinclair/typebox";
3
+ import { type Static, type TObject } from "@sinclair/typebox";
5
4
  import { type DatasourcesMap, type DatasourcesResolved } from "./datasources/types";
6
- import type { DatarecordsMap } from "./datarecords/types";
7
5
  import type { TemplateConfig } from "./template";
8
- export type PagesMapEntry = {
9
- id: string;
10
- label: string;
11
- path: string;
12
- tags: string[];
13
- };
14
- export type PageInfo = {
15
- /**
16
- * The page id.
17
- */
18
- id: string;
19
- /**
20
- * Pathname to the page
21
- */
22
- path: string;
23
- /**
24
- * Label of the page
25
- */
26
- label: string;
27
- };
6
+ declare const pagesMapSchema: import("@sinclair/typebox").TArray<TObject<{
7
+ id: import("@sinclair/typebox").TString;
8
+ label: import("@sinclair/typebox").TString;
9
+ path: import("@sinclair/typebox").TString;
10
+ tags: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
11
+ }>>;
12
+ export type PagesMap = Static<typeof pagesMapSchema>;
13
+ declare const pageInfoSchema: TObject<{
14
+ id: import("@sinclair/typebox").TString;
15
+ label: import("@sinclair/typebox").TString;
16
+ path: import("@sinclair/typebox").TString;
17
+ }>;
18
+ export type PageInfo = Static<typeof pageInfoSchema>;
28
19
  /**
29
20
  * The Page config represents the page configuration (datasources, attributes, etc)
30
21
  */
@@ -41,7 +32,7 @@ export type PageConfig<D extends DatasourcesMap> = PageInfo & {
41
32
  /**
42
33
  * Page attributes. (can override site attributes)
43
34
  */
44
- attributes?: TObject<TProperties>;
35
+ attributes?: typeof defaultAttributesSchema;
45
36
  /**
46
37
  * Resolved attributes for the page.
47
38
  */
@@ -52,29 +43,213 @@ export type PageConfig<D extends DatasourcesMap> = PageInfo & {
52
43
  };
53
44
  export type GenericPageConfig = PageConfig<DatasourcesMap>;
54
45
  export declare function getNewPageConfig(templateConfig: TemplateConfig, path?: string, useFixedId?: false | string): GenericPageConfig;
46
+ export declare const siteSchema: TObject<{
47
+ id: import("@sinclair/typebox").TString;
48
+ label: import("@sinclair/typebox").TString;
49
+ hostname: import("@sinclair/typebox").TString;
50
+ attributes: TObject<{
51
+ $pageLanguage: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<string>[]>;
52
+ $pageOgImage: import("@sinclair/typebox").TString;
53
+ $robotsIndexing: import("@sinclair/typebox").TBoolean;
54
+ $siteOgImage: import("@sinclair/typebox").TString;
55
+ $pagePath: import("@sinclair/typebox").TString;
56
+ $pageTitle: import("@sinclair/typebox").TString;
57
+ $pageDescription: import("@sinclair/typebox").TString;
58
+ $pageKeywords: import("@sinclair/typebox").TString;
59
+ $pageLastUpdated: import("@sinclair/typebox").TString;
60
+ $bodyBackground: TObject<{
61
+ color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
62
+ image: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
63
+ repeat: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"no-repeat">, import("@sinclair/typebox").TLiteral<"repeat">, import("@sinclair/typebox").TLiteral<"repeat-x">, import("@sinclair/typebox").TLiteral<"repeat-y">, import("@sinclair/typebox").TLiteral<"space">, import("@sinclair/typebox").TLiteral<"round">]>>;
64
+ size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"auto">, import("@sinclair/typebox").TLiteral<"cover">, import("@sinclair/typebox").TLiteral<"contain">]>>;
65
+ }>;
66
+ $pageBackground: TObject<{
67
+ color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
68
+ image: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
69
+ repeat: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"no-repeat">, import("@sinclair/typebox").TLiteral<"repeat">, import("@sinclair/typebox").TLiteral<"repeat-x">, import("@sinclair/typebox").TLiteral<"repeat-y">, import("@sinclair/typebox").TLiteral<"space">, import("@sinclair/typebox").TLiteral<"round">]>>;
70
+ size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"auto">, import("@sinclair/typebox").TLiteral<"cover">, import("@sinclair/typebox").TLiteral<"contain">]>>;
71
+ }>;
72
+ $textColor: import("@sinclair/typebox").TString;
73
+ $siteHeadTags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
74
+ $siteBodyTags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
75
+ }>;
76
+ attr: TObject<{
77
+ $pageLanguage: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<string>[]>;
78
+ $pageOgImage: import("@sinclair/typebox").TString;
79
+ $robotsIndexing: import("@sinclair/typebox").TBoolean;
80
+ $siteOgImage: import("@sinclair/typebox").TString;
81
+ $pagePath: import("@sinclair/typebox").TString;
82
+ $pageTitle: import("@sinclair/typebox").TString;
83
+ $pageDescription: import("@sinclair/typebox").TString;
84
+ $pageKeywords: import("@sinclair/typebox").TString;
85
+ $pageLastUpdated: import("@sinclair/typebox").TString;
86
+ $bodyBackground: TObject<{
87
+ color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
88
+ image: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
89
+ repeat: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"no-repeat">, import("@sinclair/typebox").TLiteral<"repeat">, import("@sinclair/typebox").TLiteral<"repeat-x">, import("@sinclair/typebox").TLiteral<"repeat-y">, import("@sinclair/typebox").TLiteral<"space">, import("@sinclair/typebox").TLiteral<"round">]>>;
90
+ size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"auto">, import("@sinclair/typebox").TLiteral<"cover">, import("@sinclair/typebox").TLiteral<"contain">]>>;
91
+ }>;
92
+ $pageBackground: TObject<{
93
+ color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
94
+ image: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
95
+ repeat: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"no-repeat">, import("@sinclair/typebox").TLiteral<"repeat">, import("@sinclair/typebox").TLiteral<"repeat-x">, import("@sinclair/typebox").TLiteral<"repeat-y">, import("@sinclair/typebox").TLiteral<"space">, import("@sinclair/typebox").TLiteral<"round">]>>;
96
+ size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"auto">, import("@sinclair/typebox").TLiteral<"cover">, import("@sinclair/typebox").TLiteral<"contain">]>>;
97
+ }>;
98
+ $textColor: import("@sinclair/typebox").TString;
99
+ $siteHeadTags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
100
+ $siteBodyTags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
101
+ }>;
102
+ datasources: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<[TObject<{
103
+ provider: import("@sinclair/typebox").TLiteral<"custom">;
104
+ options: import("@sinclair/typebox").TOptional<TObject<{}>>;
105
+ schema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TArray<TObject<{}>>, TObject<{}>]>;
106
+ name: import("@sinclair/typebox").TString;
107
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
108
+ sampleData: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
109
+ }>, TObject<{
110
+ options: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[TObject<{}>, TObject<{}>, TObject<{}>, TObject<{}>, TObject<{}>, TObject<{}>, TObject<{
111
+ refreshInterval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
112
+ headers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>>;
113
+ url: import("@sinclair/typebox").TString;
114
+ }>, TObject<{
115
+ refreshInterval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNumber]>>;
116
+ maxCount: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
117
+ }>, TObject<{
118
+ refreshInterval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
119
+ url: import("@sinclair/typebox").TString;
120
+ }>, TObject<{
121
+ refreshInterval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
122
+ username: import("@sinclair/typebox").TString;
123
+ }>, TObject<{
124
+ refreshInterval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
125
+ limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
126
+ }>, TObject<{
127
+ refreshInterval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
128
+ limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
129
+ }>, TObject<{
130
+ refreshInterval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
131
+ limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
132
+ }>, TObject<{
133
+ refreshInterval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
134
+ order: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
135
+ channelId: import("@sinclair/typebox").TString;
136
+ maxResults: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
137
+ regionCode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
138
+ relevanceLanguage: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
139
+ }>]>>;
140
+ provider: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"internal-recipes">, import("@sinclair/typebox").TLiteral<"internal-links">, import("@sinclair/typebox").TLiteral<"internal-faq">, import("@sinclair/typebox").TLiteral<"internal-contact-info">, import("@sinclair/typebox").TLiteral<"internal-changelog">, import("@sinclair/typebox").TLiteral<"internal-blog">, import("@sinclair/typebox").TLiteral<"json">, import("@sinclair/typebox").TLiteral<"tiktok-video">, import("@sinclair/typebox").TLiteral<"rss">, import("@sinclair/typebox").TLiteral<"mastodon-status">, import("@sinclair/typebox").TLiteral<"threads-media">, import("@sinclair/typebox").TLiteral<"instragram-feed">, import("@sinclair/typebox").TLiteral<"facebook-posts">, import("@sinclair/typebox").TLiteral<"youtube-list">]>;
141
+ name: import("@sinclair/typebox").TString;
142
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
143
+ sampleData: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
144
+ ttlMinutes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
145
+ refresh: import("@sinclair/typebox").TOptional<TObject<{
146
+ method: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"interval">, import("@sinclair/typebox").TLiteral<"manual">, import("@sinclair/typebox").TLiteral<"live">]>;
147
+ interval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
148
+ }>>;
149
+ }>]>>>;
150
+ datarecords: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, TObject<{
151
+ options: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TAny, TObject<{
152
+ url: import("@sinclair/typebox").TString;
153
+ headers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>>;
154
+ }>, TObject<{
155
+ spreadsheetId: import("@sinclair/typebox").TString;
156
+ sheetName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
157
+ }>, TObject<{
158
+ accessToken: import("@sinclair/typebox").TString;
159
+ baseId: import("@sinclair/typebox").TString;
160
+ tableIdOrName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TString]>;
161
+ }>]>;
162
+ provider: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"internal">, import("@sinclair/typebox").TLiteral<"generic-webhook">, import("@sinclair/typebox").TLiteral<"google-sheets">, import("@sinclair/typebox").TLiteral<"airtable">]>;
163
+ name: import("@sinclair/typebox").TString;
164
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
165
+ }>>>;
166
+ themes: import("@sinclair/typebox").TArray<TObject<{
167
+ id: import("@sinclair/typebox").TString;
168
+ name: import("@sinclair/typebox").TString;
169
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
170
+ tags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
171
+ colors: TObject<{
172
+ primary: import("@sinclair/typebox").TString;
173
+ secondary: import("@sinclair/typebox").TString;
174
+ accent: import("@sinclair/typebox").TString;
175
+ neutral: import("@sinclair/typebox").TString;
176
+ }>;
177
+ typography: TObject<{
178
+ base: import("@sinclair/typebox").TNumber;
179
+ heading: TObject<{
180
+ type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"stack">, import("@sinclair/typebox").TLiteral<"theme">, import("@sinclair/typebox").TLiteral<"google">]>;
181
+ family: import("@sinclair/typebox").TString;
182
+ }>;
183
+ body: TObject<{
184
+ type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"stack">, import("@sinclair/typebox").TLiteral<"theme">, import("@sinclair/typebox").TLiteral<"google">]>;
185
+ family: import("@sinclair/typebox").TString;
186
+ }>;
187
+ alternatives: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<TObject<{
188
+ body: TObject<{
189
+ type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"stack">, import("@sinclair/typebox").TLiteral<"theme">, import("@sinclair/typebox").TLiteral<"google">]>;
190
+ family: import("@sinclair/typebox").TString;
191
+ }>;
192
+ heading: TObject<{
193
+ type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"stack">, import("@sinclair/typebox").TLiteral<"theme">, import("@sinclair/typebox").TLiteral<"google">]>;
194
+ family: import("@sinclair/typebox").TString;
195
+ }>;
196
+ }>>>;
197
+ }>;
198
+ }>>;
199
+ theme: TObject<{
200
+ id: import("@sinclair/typebox").TString;
201
+ name: import("@sinclair/typebox").TString;
202
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
203
+ tags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
204
+ colors: TObject<{
205
+ primary: import("@sinclair/typebox").TString;
206
+ secondary: import("@sinclair/typebox").TString;
207
+ accent: import("@sinclair/typebox").TString;
208
+ neutral: import("@sinclair/typebox").TString;
209
+ }>;
210
+ typography: TObject<{
211
+ base: import("@sinclair/typebox").TNumber;
212
+ heading: TObject<{
213
+ type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"stack">, import("@sinclair/typebox").TLiteral<"theme">, import("@sinclair/typebox").TLiteral<"google">]>;
214
+ family: import("@sinclair/typebox").TString;
215
+ }>;
216
+ body: TObject<{
217
+ type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"stack">, import("@sinclair/typebox").TLiteral<"theme">, import("@sinclair/typebox").TLiteral<"google">]>;
218
+ family: import("@sinclair/typebox").TString;
219
+ }>;
220
+ alternatives: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<TObject<{
221
+ body: TObject<{
222
+ type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"stack">, import("@sinclair/typebox").TLiteral<"theme">, import("@sinclair/typebox").TLiteral<"google">]>;
223
+ family: import("@sinclair/typebox").TString;
224
+ }>;
225
+ heading: TObject<{
226
+ type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"stack">, import("@sinclair/typebox").TLiteral<"theme">, import("@sinclair/typebox").TLiteral<"google">]>;
227
+ family: import("@sinclair/typebox").TString;
228
+ }>;
229
+ }>>>;
230
+ }>;
231
+ }>;
232
+ pagesMap: import("@sinclair/typebox").TArray<TObject<{
233
+ id: import("@sinclair/typebox").TString;
234
+ label: import("@sinclair/typebox").TString;
235
+ path: import("@sinclair/typebox").TString;
236
+ tags: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
237
+ }>>;
238
+ }>;
55
239
  /**
56
240
  * Site config has always attributes and attr.
57
241
  */
58
- export type SiteConfig = {
59
- id: string;
60
- label: string;
61
- hostname: string;
62
- attributes: TObject<TProperties>;
63
- attr: Attributes;
64
- datasources?: DatasourcesMap;
65
- datarecords?: DatarecordsMap;
66
- themes: Theme[];
67
- theme: Theme;
68
- pagesMap: PagesMapEntry[];
242
+ export type Site = Omit<Static<typeof siteSchema>, "attributes"> & {
243
+ attributes: typeof defaultAttributesSchema;
69
244
  };
70
245
  /**
71
246
  * Page context has attr but not attributes declaration, as they are not needed to render the page.
72
247
  */
73
248
  export type GenericPageContext = Omit<GenericPageConfig, "attr" | "attributes"> & {
74
- siteId: SiteConfig["id"];
75
- hostname: SiteConfig["hostname"];
76
- theme: SiteConfig["theme"];
77
- pagesMap: SiteConfig["pagesMap"];
249
+ siteId: Site["id"];
250
+ hostname: Site["hostname"];
251
+ theme: Site["theme"];
252
+ pagesMap: Site["pagesMap"];
78
253
  attr: Attributes;
79
254
  };
80
255
  /**
@@ -89,9 +264,34 @@ export declare function getNewSiteConfig(templateConfig: TemplateConfig, options
89
264
  id: `${string}-${string}-${string}-${string}-${string}`;
90
265
  label: string;
91
266
  hostname: string;
92
- attributes: TObject<TProperties>;
267
+ attributes: TObject<{
268
+ $pageLanguage: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<string>[]>;
269
+ $pageOgImage: import("@sinclair/typebox").TString;
270
+ $robotsIndexing: import("@sinclair/typebox").TBoolean;
271
+ $siteOgImage: import("@sinclair/typebox").TString;
272
+ $pagePath: import("@sinclair/typebox").TString;
273
+ $pageTitle: import("@sinclair/typebox").TString;
274
+ $pageDescription: import("@sinclair/typebox").TString;
275
+ $pageKeywords: import("@sinclair/typebox").TString;
276
+ $pageLastUpdated: import("@sinclair/typebox").TString;
277
+ $bodyBackground: TObject<{
278
+ color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
279
+ image: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
280
+ repeat: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"no-repeat">, import("@sinclair/typebox").TLiteral<"repeat">, import("@sinclair/typebox").TLiteral<"repeat-x">, import("@sinclair/typebox").TLiteral<"repeat-y">, import("@sinclair/typebox").TLiteral<"space">, import("@sinclair/typebox").TLiteral<"round">]>>;
281
+ size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"auto">, import("@sinclair/typebox").TLiteral<"cover">, import("@sinclair/typebox").TLiteral<"contain">]>>;
282
+ }>;
283
+ $pageBackground: TObject<{
284
+ color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
285
+ image: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
286
+ repeat: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"no-repeat">, import("@sinclair/typebox").TLiteral<"repeat">, import("@sinclair/typebox").TLiteral<"repeat-x">, import("@sinclair/typebox").TLiteral<"repeat-y">, import("@sinclair/typebox").TLiteral<"space">, import("@sinclair/typebox").TLiteral<"round">]>>;
287
+ size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"auto">, import("@sinclair/typebox").TLiteral<"cover">, import("@sinclair/typebox").TLiteral<"contain">]>>;
288
+ }>;
289
+ $textColor: import("@sinclair/typebox").TString;
290
+ $siteHeadTags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
291
+ $siteBodyTags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
292
+ }>;
93
293
  attr: {
94
- [x: string]: unknown;
294
+ [x: string]: any;
95
295
  $siteHeadTags?: string | undefined;
96
296
  $siteBodyTags?: string | undefined;
97
297
  $pageLanguage: string;
@@ -238,7 +438,6 @@ export declare function getNewSiteConfig(templateConfig: TemplateConfig, options
238
438
  };
239
439
  pages: GenericPageConfig[];
240
440
  };
241
- export type SiteAndPagesConfig = ReturnType<typeof getNewSiteConfig>;
242
441
  export declare const templatePageSchema: TObject<{
243
442
  label: import("@sinclair/typebox").TString;
244
443
  path: import("@sinclair/typebox").TString;
@@ -306,173 +505,33 @@ export declare const templatePageSchema: TObject<{
306
505
  }>;
307
506
  }>>;
308
507
  tags: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
309
- }>;
310
- export type TemplatePage = Static<typeof templatePageSchema> & {
311
- attributes?: TObject<TProperties>;
312
- attr?: Partial<Attributes>;
313
- };
314
- export declare const definedTemplatePage: TObject<{
315
- sections: import("@sinclair/typebox").TArray<TObject<{
316
- id: import("@sinclair/typebox").TString;
317
- kind: import("@sinclair/typebox").TLiteral<"section">;
318
- label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
319
- position: TObject<{
320
- mobile: TObject<{
321
- h: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TLiteral<"full">]>>;
322
- }>;
323
- desktop: TObject<{
324
- h: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TLiteral<"full">]>;
325
- }>;
326
- }>;
327
- order: import("@sinclair/typebox").TNumber;
328
- props: TObject<{
329
- background: import("@sinclair/typebox").TOptional<TObject<{
330
- color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
331
- image: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
332
- size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"auto">, import("@sinclair/typebox").TLiteral<"cover">, import("@sinclair/typebox").TLiteral<"contain">]>>;
333
- repeat: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"no-repeat">, import("@sinclair/typebox").TLiteral<"repeat">, import("@sinclair/typebox").TLiteral<"repeat-x">, import("@sinclair/typebox").TLiteral<"repeat-y">, import("@sinclair/typebox").TLiteral<"space">, import("@sinclair/typebox").TLiteral<"round">]>>;
334
- }>>;
335
- width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<string>[]>>;
336
- $paddingHorizontal: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
337
- lastTouched: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
338
- }>;
339
- mobileProps: import("@sinclair/typebox").TOptional<TObject<{
340
- background: import("@sinclair/typebox").TOptional<TObject<{
341
- color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
342
- image: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
343
- size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"auto">, import("@sinclair/typebox").TLiteral<"cover">, import("@sinclair/typebox").TLiteral<"contain">]>>;
344
- repeat: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"no-repeat">, import("@sinclair/typebox").TLiteral<"repeat">, import("@sinclair/typebox").TLiteral<"repeat-x">, import("@sinclair/typebox").TLiteral<"repeat-y">, import("@sinclair/typebox").TLiteral<"space">, import("@sinclair/typebox").TLiteral<"round">]>>;
345
- }>>;
346
- width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<string>[]>>;
347
- $paddingHorizontal: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
348
- lastTouched: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
349
- }>>;
350
- }>>;
351
- path: import("@sinclair/typebox").TString;
352
- label: import("@sinclair/typebox").TString;
353
- bricks: import("@sinclair/typebox").TArray<TObject<{
354
- id: import("@sinclair/typebox").TString;
355
- type: import("@sinclair/typebox").TString;
356
- props: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>;
357
- mobileProps: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>;
358
- parentId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
359
- sectionId: import("@sinclair/typebox").TString;
360
- $children: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TRef<"brick">>>;
361
- position: TObject<{
362
- mobile: TObject<{
363
- x: import("@sinclair/typebox").TNumber;
364
- y: import("@sinclair/typebox").TNumber;
365
- w: import("@sinclair/typebox").TNumber;
366
- h: import("@sinclair/typebox").TNumber;
367
- manualHeight: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
368
- hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
369
- }>;
370
- desktop: TObject<{
371
- x: import("@sinclair/typebox").TNumber;
372
- y: import("@sinclair/typebox").TNumber;
373
- w: import("@sinclair/typebox").TNumber;
374
- h: import("@sinclair/typebox").TNumber;
375
- manualHeight: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
376
- hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
377
- }>;
378
- }>;
379
- }>>;
380
- tags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
381
- }>;
382
- export type DefinedTemplatePage = Static<typeof definedTemplatePage>;
383
- export declare const templateSchema: TObject<{
384
- manifest: TObject<{
385
- id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
386
- name: import("@sinclair/typebox").TString;
387
- description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
388
- readme: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TRegExp, import("@sinclair/typebox").TString>>;
389
- tags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
390
- author: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
391
- thumbnail: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
392
- homepage: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
393
- }>;
394
- themes: import("@sinclair/typebox").TArray<TObject<{
395
- id: import("@sinclair/typebox").TString;
396
- name: import("@sinclair/typebox").TString;
397
- description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
398
- tags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
399
- colors: TObject<{
400
- primary: import("@sinclair/typebox").TString;
401
- secondary: import("@sinclair/typebox").TString;
402
- accent: import("@sinclair/typebox").TString;
403
- neutral: import("@sinclair/typebox").TString;
508
+ attributes: import("@sinclair/typebox").TOptional<TObject<{
509
+ $pageLanguage: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<string>[]>;
510
+ $pageOgImage: import("@sinclair/typebox").TString;
511
+ $robotsIndexing: import("@sinclair/typebox").TBoolean;
512
+ $siteOgImage: import("@sinclair/typebox").TString;
513
+ $pagePath: import("@sinclair/typebox").TString;
514
+ $pageTitle: import("@sinclair/typebox").TString;
515
+ $pageDescription: import("@sinclair/typebox").TString;
516
+ $pageKeywords: import("@sinclair/typebox").TString;
517
+ $pageLastUpdated: import("@sinclair/typebox").TString;
518
+ $bodyBackground: TObject<{
519
+ color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
520
+ image: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
521
+ repeat: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"no-repeat">, import("@sinclair/typebox").TLiteral<"repeat">, import("@sinclair/typebox").TLiteral<"repeat-x">, import("@sinclair/typebox").TLiteral<"repeat-y">, import("@sinclair/typebox").TLiteral<"space">, import("@sinclair/typebox").TLiteral<"round">]>>;
522
+ size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"auto">, import("@sinclair/typebox").TLiteral<"cover">, import("@sinclair/typebox").TLiteral<"contain">]>>;
404
523
  }>;
405
- typography: TObject<{
406
- base: import("@sinclair/typebox").TNumber;
407
- heading: TObject<{
408
- type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"stack">, import("@sinclair/typebox").TLiteral<"theme">, import("@sinclair/typebox").TLiteral<"google">]>;
409
- family: import("@sinclair/typebox").TString;
410
- }>;
411
- body: TObject<{
412
- type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"stack">, import("@sinclair/typebox").TLiteral<"theme">, import("@sinclair/typebox").TLiteral<"google">]>;
413
- family: import("@sinclair/typebox").TString;
414
- }>;
415
- alternatives: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<TObject<{
416
- body: TObject<{
417
- type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"stack">, import("@sinclair/typebox").TLiteral<"theme">, import("@sinclair/typebox").TLiteral<"google">]>;
418
- family: import("@sinclair/typebox").TString;
419
- }>;
420
- heading: TObject<{
421
- type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"stack">, import("@sinclair/typebox").TLiteral<"theme">, import("@sinclair/typebox").TLiteral<"google">]>;
422
- family: import("@sinclair/typebox").TString;
423
- }>;
424
- }>>>;
524
+ $pageBackground: TObject<{
525
+ color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
526
+ image: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
527
+ repeat: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"no-repeat">, import("@sinclair/typebox").TLiteral<"repeat">, import("@sinclair/typebox").TLiteral<"repeat-x">, import("@sinclair/typebox").TLiteral<"repeat-y">, import("@sinclair/typebox").TLiteral<"space">, import("@sinclair/typebox").TLiteral<"round">]>>;
528
+ size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"auto">, import("@sinclair/typebox").TLiteral<"cover">, import("@sinclair/typebox").TLiteral<"contain">]>>;
425
529
  }>;
530
+ $textColor: import("@sinclair/typebox").TString;
531
+ $siteHeadTags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
532
+ $siteBodyTags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
426
533
  }>>;
427
- datasources: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<[TObject<{
428
- provider: import("@sinclair/typebox").TLiteral<"custom">;
429
- options: import("@sinclair/typebox").TOptional<TObject<{}>>;
430
- schema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TArray<TObject<{}>>, TObject<{}>]>;
431
- name: import("@sinclair/typebox").TString;
432
- description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
433
- sampleData: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
434
- }>, TObject<{
435
- options: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[TObject<{}>, TObject<{}>, TObject<{}>, TObject<{}>, TObject<{}>, TObject<{}>, TObject<{
436
- refreshInterval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
437
- headers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>>;
438
- url: import("@sinclair/typebox").TString;
439
- }>, TObject<{
440
- refreshInterval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNumber]>>;
441
- maxCount: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
442
- }>, TObject<{
443
- refreshInterval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
444
- url: import("@sinclair/typebox").TString;
445
- }>, TObject<{
446
- refreshInterval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
447
- username: import("@sinclair/typebox").TString;
448
- }>, TObject<{
449
- refreshInterval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
450
- limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
451
- }>, TObject<{
452
- refreshInterval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
453
- limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
454
- }>, TObject<{
455
- refreshInterval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
456
- limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
457
- }>, TObject<{
458
- refreshInterval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
459
- order: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
460
- channelId: import("@sinclair/typebox").TString;
461
- maxResults: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
462
- regionCode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
463
- relevanceLanguage: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
464
- }>]>>;
465
- provider: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"internal-recipes">, import("@sinclair/typebox").TLiteral<"internal-links">, import("@sinclair/typebox").TLiteral<"internal-faq">, import("@sinclair/typebox").TLiteral<"internal-contact-info">, import("@sinclair/typebox").TLiteral<"internal-changelog">, import("@sinclair/typebox").TLiteral<"internal-blog">, import("@sinclair/typebox").TLiteral<"json">, import("@sinclair/typebox").TLiteral<"tiktok-video">, import("@sinclair/typebox").TLiteral<"rss">, import("@sinclair/typebox").TLiteral<"mastodon-status">, import("@sinclair/typebox").TLiteral<"threads-media">, import("@sinclair/typebox").TLiteral<"instragram-feed">, import("@sinclair/typebox").TLiteral<"facebook-posts">, import("@sinclair/typebox").TLiteral<"youtube-list">]>;
466
- name: import("@sinclair/typebox").TString;
467
- description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
468
- sampleData: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
469
- ttlMinutes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
470
- refresh: import("@sinclair/typebox").TOptional<TObject<{
471
- method: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"interval">, import("@sinclair/typebox").TLiteral<"manual">, import("@sinclair/typebox").TLiteral<"live">]>;
472
- interval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
473
- }>>;
474
- }>]>>>;
475
- attributes: import("@sinclair/typebox").TOptional<TObject<{
534
+ attr: import("@sinclair/typebox").TOptional<TObject<{
476
535
  $pageLanguage: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<string>[]>;
477
536
  $pageOgImage: import("@sinclair/typebox").TString;
478
537
  $robotsIndexing: import("@sinclair/typebox").TBoolean;
@@ -498,6 +557,176 @@ export declare const templateSchema: TObject<{
498
557
  $siteHeadTags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
499
558
  $siteBodyTags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
500
559
  }>>;
560
+ }>;
561
+ export type TemplatePage = Static<typeof templatePageSchema>;
562
+ declare const partialSiteAndPagesSchema: TObject<{
563
+ site: TObject<{
564
+ hostname: import("@sinclair/typebox").TString;
565
+ id: import("@sinclair/typebox").TString;
566
+ theme: TObject<{
567
+ id: import("@sinclair/typebox").TString;
568
+ name: import("@sinclair/typebox").TString;
569
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
570
+ tags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
571
+ colors: TObject<{
572
+ primary: import("@sinclair/typebox").TString;
573
+ secondary: import("@sinclair/typebox").TString;
574
+ accent: import("@sinclair/typebox").TString;
575
+ neutral: import("@sinclair/typebox").TString;
576
+ }>;
577
+ typography: TObject<{
578
+ base: import("@sinclair/typebox").TNumber;
579
+ heading: TObject<{
580
+ type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"stack">, import("@sinclair/typebox").TLiteral<"theme">, import("@sinclair/typebox").TLiteral<"google">]>;
581
+ family: import("@sinclair/typebox").TString;
582
+ }>;
583
+ body: TObject<{
584
+ type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"stack">, import("@sinclair/typebox").TLiteral<"theme">, import("@sinclair/typebox").TLiteral<"google">]>;
585
+ family: import("@sinclair/typebox").TString;
586
+ }>;
587
+ alternatives: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<TObject<{
588
+ body: TObject<{
589
+ type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"stack">, import("@sinclair/typebox").TLiteral<"theme">, import("@sinclair/typebox").TLiteral<"google">]>;
590
+ family: import("@sinclair/typebox").TString;
591
+ }>;
592
+ heading: TObject<{
593
+ type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"stack">, import("@sinclair/typebox").TLiteral<"theme">, import("@sinclair/typebox").TLiteral<"google">]>;
594
+ family: import("@sinclair/typebox").TString;
595
+ }>;
596
+ }>>>;
597
+ }>;
598
+ }>;
599
+ label: import("@sinclair/typebox").TString;
600
+ themes: import("@sinclair/typebox").TArray<TObject<{
601
+ id: import("@sinclair/typebox").TString;
602
+ name: import("@sinclair/typebox").TString;
603
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
604
+ tags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
605
+ colors: TObject<{
606
+ primary: import("@sinclair/typebox").TString;
607
+ secondary: import("@sinclair/typebox").TString;
608
+ accent: import("@sinclair/typebox").TString;
609
+ neutral: import("@sinclair/typebox").TString;
610
+ }>;
611
+ typography: TObject<{
612
+ base: import("@sinclair/typebox").TNumber;
613
+ heading: TObject<{
614
+ type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"stack">, import("@sinclair/typebox").TLiteral<"theme">, import("@sinclair/typebox").TLiteral<"google">]>;
615
+ family: import("@sinclair/typebox").TString;
616
+ }>;
617
+ body: TObject<{
618
+ type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"stack">, import("@sinclair/typebox").TLiteral<"theme">, import("@sinclair/typebox").TLiteral<"google">]>;
619
+ family: import("@sinclair/typebox").TString;
620
+ }>;
621
+ alternatives: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<TObject<{
622
+ body: TObject<{
623
+ type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"stack">, import("@sinclair/typebox").TLiteral<"theme">, import("@sinclair/typebox").TLiteral<"google">]>;
624
+ family: import("@sinclair/typebox").TString;
625
+ }>;
626
+ heading: TObject<{
627
+ type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"stack">, import("@sinclair/typebox").TLiteral<"theme">, import("@sinclair/typebox").TLiteral<"google">]>;
628
+ family: import("@sinclair/typebox").TString;
629
+ }>;
630
+ }>>>;
631
+ }>;
632
+ }>>;
633
+ datasources: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<[TObject<{
634
+ provider: import("@sinclair/typebox").TLiteral<"custom">;
635
+ options: import("@sinclair/typebox").TOptional<TObject<{}>>;
636
+ schema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TArray<TObject<{}>>, TObject<{}>]>;
637
+ name: import("@sinclair/typebox").TString;
638
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
639
+ sampleData: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
640
+ }>, TObject<{
641
+ options: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[TObject<{}>, TObject<{}>, TObject<{}>, TObject<{}>, TObject<{}>, TObject<{}>, TObject<{
642
+ refreshInterval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
643
+ headers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>>;
644
+ url: import("@sinclair/typebox").TString;
645
+ }>, TObject<{
646
+ refreshInterval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNumber]>>;
647
+ maxCount: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
648
+ }>, TObject<{
649
+ refreshInterval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
650
+ url: import("@sinclair/typebox").TString;
651
+ }>, TObject<{
652
+ refreshInterval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
653
+ username: import("@sinclair/typebox").TString;
654
+ }>, TObject<{
655
+ refreshInterval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
656
+ limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
657
+ }>, TObject<{
658
+ refreshInterval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
659
+ limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
660
+ }>, TObject<{
661
+ refreshInterval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
662
+ limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
663
+ }>, TObject<{
664
+ refreshInterval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
665
+ order: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
666
+ channelId: import("@sinclair/typebox").TString;
667
+ maxResults: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
668
+ regionCode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
669
+ relevanceLanguage: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
670
+ }>]>>;
671
+ provider: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"internal-recipes">, import("@sinclair/typebox").TLiteral<"internal-links">, import("@sinclair/typebox").TLiteral<"internal-faq">, import("@sinclair/typebox").TLiteral<"internal-contact-info">, import("@sinclair/typebox").TLiteral<"internal-changelog">, import("@sinclair/typebox").TLiteral<"internal-blog">, import("@sinclair/typebox").TLiteral<"json">, import("@sinclair/typebox").TLiteral<"tiktok-video">, import("@sinclair/typebox").TLiteral<"rss">, import("@sinclair/typebox").TLiteral<"mastodon-status">, import("@sinclair/typebox").TLiteral<"threads-media">, import("@sinclair/typebox").TLiteral<"instragram-feed">, import("@sinclair/typebox").TLiteral<"facebook-posts">, import("@sinclair/typebox").TLiteral<"youtube-list">]>;
672
+ name: import("@sinclair/typebox").TString;
673
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
674
+ sampleData: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
675
+ ttlMinutes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
676
+ refresh: import("@sinclair/typebox").TOptional<TObject<{
677
+ method: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"interval">, import("@sinclair/typebox").TLiteral<"manual">, import("@sinclair/typebox").TLiteral<"live">]>;
678
+ interval: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
679
+ }>>;
680
+ }>]>>>;
681
+ attr: TObject<{
682
+ $pageLanguage: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<string>[]>;
683
+ $pageOgImage: import("@sinclair/typebox").TString;
684
+ $robotsIndexing: import("@sinclair/typebox").TBoolean;
685
+ $siteOgImage: import("@sinclair/typebox").TString;
686
+ $pagePath: import("@sinclair/typebox").TString;
687
+ $pageTitle: import("@sinclair/typebox").TString;
688
+ $pageDescription: import("@sinclair/typebox").TString;
689
+ $pageKeywords: import("@sinclair/typebox").TString;
690
+ $pageLastUpdated: import("@sinclair/typebox").TString;
691
+ $bodyBackground: TObject<{
692
+ color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
693
+ image: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
694
+ repeat: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"no-repeat">, import("@sinclair/typebox").TLiteral<"repeat">, import("@sinclair/typebox").TLiteral<"repeat-x">, import("@sinclair/typebox").TLiteral<"repeat-y">, import("@sinclair/typebox").TLiteral<"space">, import("@sinclair/typebox").TLiteral<"round">]>>;
695
+ size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"auto">, import("@sinclair/typebox").TLiteral<"cover">, import("@sinclair/typebox").TLiteral<"contain">]>>;
696
+ }>;
697
+ $pageBackground: TObject<{
698
+ color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
699
+ image: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
700
+ repeat: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"no-repeat">, import("@sinclair/typebox").TLiteral<"repeat">, import("@sinclair/typebox").TLiteral<"repeat-x">, import("@sinclair/typebox").TLiteral<"repeat-y">, import("@sinclair/typebox").TLiteral<"space">, import("@sinclair/typebox").TLiteral<"round">]>>;
701
+ size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"auto">, import("@sinclair/typebox").TLiteral<"cover">, import("@sinclair/typebox").TLiteral<"contain">]>>;
702
+ }>;
703
+ $textColor: import("@sinclair/typebox").TString;
704
+ $siteHeadTags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
705
+ $siteBodyTags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
706
+ }>;
707
+ datarecords: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, TObject<{
708
+ options: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TAny, TObject<{
709
+ url: import("@sinclair/typebox").TString;
710
+ headers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>>;
711
+ }>, TObject<{
712
+ spreadsheetId: import("@sinclair/typebox").TString;
713
+ sheetName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
714
+ }>, TObject<{
715
+ accessToken: import("@sinclair/typebox").TString;
716
+ baseId: import("@sinclair/typebox").TString;
717
+ tableIdOrName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TString]>;
718
+ }>]>;
719
+ provider: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"internal">, import("@sinclair/typebox").TLiteral<"generic-webhook">, import("@sinclair/typebox").TLiteral<"google-sheets">, import("@sinclair/typebox").TLiteral<"airtable">]>;
720
+ name: import("@sinclair/typebox").TString;
721
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
722
+ }>>>;
723
+ pagesMap: import("@sinclair/typebox").TArray<TObject<{
724
+ id: import("@sinclair/typebox").TString;
725
+ label: import("@sinclair/typebox").TString;
726
+ path: import("@sinclair/typebox").TString;
727
+ tags: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
728
+ }>>;
729
+ }>;
501
730
  pages: import("@sinclair/typebox").TArray<TObject<{
502
731
  sections: import("@sinclair/typebox").TArray<TObject<{
503
732
  id: import("@sinclair/typebox").TString;
@@ -535,8 +764,35 @@ export declare const templateSchema: TObject<{
535
764
  lastTouched: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
536
765
  }>>;
537
766
  }>>;
538
- path: import("@sinclair/typebox").TString;
539
- label: import("@sinclair/typebox").TString;
767
+ path: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TString]>;
768
+ tags: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
769
+ label: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TString]>;
770
+ attr: import("@sinclair/typebox").TOptional<TObject<{
771
+ $pageLanguage: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<string>[]>;
772
+ $pageOgImage: import("@sinclair/typebox").TString;
773
+ $robotsIndexing: import("@sinclair/typebox").TBoolean;
774
+ $siteOgImage: import("@sinclair/typebox").TString;
775
+ $pagePath: import("@sinclair/typebox").TString;
776
+ $pageTitle: import("@sinclair/typebox").TString;
777
+ $pageDescription: import("@sinclair/typebox").TString;
778
+ $pageKeywords: import("@sinclair/typebox").TString;
779
+ $pageLastUpdated: import("@sinclair/typebox").TString;
780
+ $bodyBackground: TObject<{
781
+ color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
782
+ image: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
783
+ repeat: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"no-repeat">, import("@sinclair/typebox").TLiteral<"repeat">, import("@sinclair/typebox").TLiteral<"repeat-x">, import("@sinclair/typebox").TLiteral<"repeat-y">, import("@sinclair/typebox").TLiteral<"space">, import("@sinclair/typebox").TLiteral<"round">]>>;
784
+ size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"auto">, import("@sinclair/typebox").TLiteral<"cover">, import("@sinclair/typebox").TLiteral<"contain">]>>;
785
+ }>;
786
+ $pageBackground: TObject<{
787
+ color: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
788
+ image: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
789
+ repeat: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"no-repeat">, import("@sinclair/typebox").TLiteral<"repeat">, import("@sinclair/typebox").TLiteral<"repeat-x">, import("@sinclair/typebox").TLiteral<"repeat-y">, import("@sinclair/typebox").TLiteral<"space">, import("@sinclair/typebox").TLiteral<"round">]>>;
790
+ size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"auto">, import("@sinclair/typebox").TLiteral<"cover">, import("@sinclair/typebox").TLiteral<"contain">]>>;
791
+ }>;
792
+ $textColor: import("@sinclair/typebox").TString;
793
+ $siteHeadTags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
794
+ $siteBodyTags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
795
+ }>>;
540
796
  bricks: import("@sinclair/typebox").TArray<TObject<{
541
797
  id: import("@sinclair/typebox").TString;
542
798
  type: import("@sinclair/typebox").TString;
@@ -564,8 +820,17 @@ export declare const templateSchema: TObject<{
564
820
  }>;
565
821
  }>;
566
822
  }>>;
567
- tags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
823
+ id: import("@sinclair/typebox").TString;
568
824
  }>>;
569
825
  }>;
570
- export type Template = Static<typeof templateSchema>;
826
+ type PartialSiteAndPagesSchema = Static<typeof partialSiteAndPagesSchema>;
827
+ export type SiteAndPagesConfig = {
828
+ site: PartialSiteAndPagesSchema["site"] & {
829
+ attributes: typeof defaultAttributesSchema;
830
+ };
831
+ pages: Array<Omit<PartialSiteAndPagesSchema["pages"][number], "attributes"> & {
832
+ attributes?: typeof defaultAttributesSchema;
833
+ }>;
834
+ };
835
+ export {};
571
836
  //# sourceMappingURL=page.d.ts.map