@hybridly/vue 0.4.4 → 0.5.0

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.
package/dist/index.d.cts CHANGED
@@ -7,6 +7,7 @@ import { Axios, AxiosResponse, AxiosProgressEvent } from 'axios';
7
7
  import * as _vue_shared from '@vue/shared';
8
8
  import { RequestData } from '@hybridly/utils';
9
9
  import { SearchableObject, Path, PathValue } from '@clickbar/dot-diver';
10
+ import * as hybridly from 'hybridly';
10
11
 
11
12
  interface ProgressOptions {
12
13
  /**
@@ -121,6 +122,14 @@ declare const RouterLink: vue.DefineComponent<{
121
122
  type: PropType<boolean | "hover" | "mount">;
122
123
  default: boolean;
123
124
  };
125
+ preserveScroll: {
126
+ type: BooleanConstructor;
127
+ default: undefined;
128
+ };
129
+ preserveState: {
130
+ type: BooleanConstructor;
131
+ default: undefined;
132
+ };
124
133
  }, (props: _vue_shared.LooseRequired<{
125
134
  readonly data: RequestData;
126
135
  readonly method: "delete" | Method$1 | "get" | "post" | "put" | "patch";
@@ -130,6 +139,8 @@ declare const RouterLink: vue.DefineComponent<{
130
139
  readonly disabled: boolean;
131
140
  readonly preload: boolean | "hover" | "mount";
132
141
  readonly text?: string | undefined;
142
+ readonly preserveScroll?: boolean | undefined;
143
+ readonly preserveState?: boolean | undefined;
133
144
  readonly href?: string | undefined;
134
145
  } & {}>) => vue.VNode<vue.RendererNode, vue.RendererElement, {
135
146
  [key: string]: any;
@@ -172,9 +183,19 @@ declare const RouterLink: vue.DefineComponent<{
172
183
  type: PropType<boolean | "hover" | "mount">;
173
184
  default: boolean;
174
185
  };
186
+ preserveScroll: {
187
+ type: BooleanConstructor;
188
+ default: undefined;
189
+ };
190
+ preserveState: {
191
+ type: BooleanConstructor;
192
+ default: undefined;
193
+ };
175
194
  }>>, {
176
195
  data: RequestData;
177
196
  text: string;
197
+ preserveScroll: boolean;
198
+ preserveState: boolean;
178
199
  href: string;
179
200
  method: "delete" | Method$1 | "get" | "post" | "put" | "patch";
180
201
  options: Omit<HybridRequestOptions$1, "data" | "url" | "method">;
@@ -185,7 +206,7 @@ declare const RouterLink: vue.DefineComponent<{
185
206
  }, {}>;
186
207
 
187
208
  /** Accesses all current properties. */
188
- declare function useProperties<T extends object, Global extends GlobalHybridlyProperties>(): vue.DeepReadonly<vue.UnwrapNestedRefs<T & Global>>;
209
+ declare function useProperties<T extends object, Global extends GlobalHybridlyProperties = GlobalHybridlyProperties>(): vue.DeepReadonly<vue.UnwrapNestedRefs<T & Global>>;
189
210
  /** Accesses a property with a dot notation. */
190
211
  declare function useProperty<Override = never, T extends SearchableObject = GlobalHybridlyProperties, P extends Path<T> & string = Path<T> & string, ReturnType = [Override] extends [never] ? PathValue<T, P> : Override>(path: [Override] extends [never] ? P : string): ComputedRef<ReturnType>;
191
212
  /**
@@ -255,7 +276,7 @@ interface Hooks extends RequestHooks {
255
276
  */
256
277
  initialized: (context: InternalRouterContext) => MaybePromise<any>;
257
278
  /**
258
- * Called after Hybridly's initial page load.
279
+ * Called after Hybridly's initial load.
259
280
  */
260
281
  ready: (context: InternalRouterContext) => MaybePromise<any>;
261
282
  /**
@@ -265,15 +286,21 @@ interface Hooks extends RequestHooks {
265
286
  /**
266
287
  * Called when a component navigation is being made.
267
288
  */
268
- navigating: (options: NavigationOptions, context: InternalRouterContext) => MaybePromise<any>;
289
+ navigating: (options: InternalNavigationOptions, context: InternalRouterContext) => MaybePromise<any>;
269
290
  /**
270
291
  * Called when a component has been navigated to.
271
292
  */
272
- navigated: (options: NavigationOptions, context: InternalRouterContext) => MaybePromise<any>;
293
+ navigated: (options: InternalNavigationOptions, context: InternalRouterContext) => MaybePromise<any>;
273
294
  /**
274
295
  * Called when a component has been navigated to and was mounted by the adapter.
275
296
  */
276
- mounted: (context: InternalRouterContext) => MaybePromise<any>;
297
+ mounted: (options: InternalNavigationOptions & MountedHookOptions, context: InternalRouterContext) => MaybePromise<any>;
298
+ }
299
+ interface MountedHookOptions {
300
+ /**
301
+ * Whether the component being mounted is a dialog.
302
+ */
303
+ isDialog: boolean;
277
304
  }
278
305
 
279
306
  interface RoutingConfiguration {
@@ -300,9 +327,9 @@ interface NavigationOptions {
300
327
  * one. This affects the browser's "back" and "forward" features.
301
328
  */
302
329
  replace?: ConditionalNavigationOption<boolean>;
303
- /** Whether to preserve the scrollbars positions on the page. */
330
+ /** Whether to preserve the scrollbars positions on the view. */
304
331
  preserveScroll?: ConditionalNavigationOption<boolean>;
305
- /** Whether to preserve the current page component's state. */
332
+ /** Whether to preserve the current view component's state. */
306
333
  preserveState?: ConditionalNavigationOption<boolean>;
307
334
  /** Whether to preserve the current URL. */
308
335
  preserveUrl?: ConditionalNavigationOption<boolean>;
@@ -321,16 +348,22 @@ interface NavigationOptions {
321
348
  * @internal This is an advanced property meant to be used internally.
322
349
  */
323
350
  updateHistoryState?: boolean;
351
+ }
352
+ interface InternalNavigationOptions extends NavigationOptions {
324
353
  /**
325
- * Defines whether this navigation is a back/forward navigation from the popstate event.
326
- * @internal This is an advanced property meant to be used internally.
354
+ * Defines the kind of navigation being performed.
355
+ * - initial: the initial load's navigation
356
+ * - server: a navigation initiated by a server round-trip
357
+ * - local: a navigation initiated by `router.local`
358
+ * - back-forward: a navigation initiated by the browser's `popstate` event
359
+ * @internal
327
360
  */
328
- isBackForward?: boolean;
361
+ type: 'initial' | 'local' | 'back-forward' | 'server';
329
362
  /**
330
- * Defines whether this navigation is the first to happen after a direct page load.
331
- * @internal This is an advanced property meant to be used internally.
363
+ * Defines whether this navigation opens a dialog.
364
+ * @internal
332
365
  */
333
- isInitial?: boolean;
366
+ hasDialog?: boolean;
334
367
  }
335
368
  type Method = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
336
369
  interface HybridRequestOptions extends Omit<NavigationOptions, 'payload'> {
@@ -375,15 +408,17 @@ interface PendingNavigation {
375
408
  /** Current status. */
376
409
  status: 'pending' | 'success' | 'error';
377
410
  }
378
- /** A page or dialog component. */
411
+ /** A view or dialog component. */
379
412
  interface View {
380
413
  /** Name of the component to use. */
381
- component: string;
414
+ component?: string;
382
415
  /** Properties to apply to the component. */
383
416
  properties: Properties;
417
+ /** Deferred properties for this view. */
418
+ deferred: string[];
384
419
  }
385
- interface Dialog extends View {
386
- /** URL that is the base background page when navigating to the dialog directly. */
420
+ interface Dialog extends Required<View> {
421
+ /** URL that is the base background view when navigating to the dialog directly. */
387
422
  baseUrl: string;
388
423
  /** URL to which the dialog should redirect when closed. */
389
424
  redirectUrl: string;
@@ -403,6 +438,8 @@ interface SwapOptions<T> {
403
438
  preserveState?: boolean;
404
439
  /** Current dialog. */
405
440
  dialog?: Dialog;
441
+ /** On mounted callback. */
442
+ onMounted?: (options: MountedHookOptions) => void;
406
443
  }
407
444
  type ViewComponent = any;
408
445
  type ResolveComponent = (name: string) => Promise<ViewComponent>;
@@ -579,6 +616,20 @@ declare global {
579
616
  meta: PaginatorMeta;
580
617
  links: PaginatorLink[];
581
618
  }
619
+ /**
620
+ * Simple-paginated data with metadata in a `meta` wrap.
621
+ */
622
+ interface SimplePaginator<T = any> {
623
+ data: T[];
624
+ meta: SimplePaginatorMeta;
625
+ }
626
+ /**
627
+ * Cursor paginator.
628
+ */
629
+ interface CursorPaginator<T = any> {
630
+ data: T[];
631
+ meta: CursorPaginatorMeta;
632
+ }
582
633
  /**
583
634
  * Paginated data without metadata wrapping.
584
635
  */
@@ -592,6 +643,24 @@ interface PaginatorLink {
592
643
  label: string;
593
644
  active: boolean;
594
645
  }
646
+ interface CursorPaginatorMeta {
647
+ path: string;
648
+ per_page: number;
649
+ previous_cursor: string;
650
+ next_cursor: string;
651
+ next_page_url?: string;
652
+ previous_page_url?: string;
653
+ }
654
+ interface SimplePaginatorMeta {
655
+ path: string;
656
+ per_page: number;
657
+ current_page: number;
658
+ next_page_url?: string;
659
+ first_page_url: string;
660
+ prev_page_url?: string;
661
+ from: number;
662
+ to: number;
663
+ }
595
664
  interface PaginatorMeta {
596
665
  path: string;
597
666
  from: number;
@@ -599,56 +668,17 @@ interface PaginatorMeta {
599
668
  total: number;
600
669
  per_page: number;
601
670
  current_page: number;
671
+ first_page: number;
602
672
  last_page: number;
603
673
  first_page_url: string;
604
674
  last_page_url: string;
605
- next_page_url: string | undefined;
606
- prev_page_url: string | undefined;
607
- links?: PaginatorLink[];
675
+ next_page_url?: string;
676
+ prev_page_url?: string;
608
677
  }
609
- interface Item {
610
- url: string | undefined;
611
- label: string;
612
- isPage: boolean;
613
- isActive: boolean;
614
- isPrevious: boolean;
615
- isNext: boolean;
616
- isCurrent: boolean;
617
- isSeparator: boolean;
618
- }
619
- declare function usePaginator<T = any>(paginator: UnwrappedPaginator<T> | Paginator<T> | PaginatorMeta): {
620
- pages: Item[];
621
- items: Item[];
622
- previous: Item;
623
- next: Item;
624
- first: {
625
- isActive: boolean;
626
- label: string;
627
- url: string | undefined;
628
- isPage: boolean;
629
- isPrevious: boolean;
630
- isNext: boolean;
631
- isCurrent: boolean;
632
- isSeparator: boolean;
633
- };
634
- last: {
635
- isActive: boolean;
636
- label: string;
637
- url: string | undefined;
638
- isPage: boolean;
639
- isPrevious: boolean;
640
- isNext: boolean;
641
- isCurrent: boolean;
642
- isSeparator: boolean;
643
- };
644
- total: number;
645
- from: number;
646
- to: number;
647
- };
648
678
 
649
679
  type Layout = any;
650
680
  /**
651
- * Sets the persistent layout for this page.
681
+ * Sets the persistent layout for this view.
652
682
  */
653
683
  declare function defineLayout<T extends Record<string, K>, K = any>(layout: Layout, properties?: T): void;
654
684
  declare function defineLayout(layouts: Layout[]): void;
@@ -804,11 +834,105 @@ declare function useRefinements<Properties extends object, RefinementsKey extend
804
834
  /**
805
835
  * Available filters.
806
836
  */
807
- filters: FilterRefinement[];
837
+ filters: {
838
+ /**
839
+ * Applies this filter.
840
+ */
841
+ apply: (value: any, options?: AvailableHybridRequestOptions) => Promise<_hybridly_core.NavigationResponse | undefined>;
842
+ /**
843
+ * Clears this filter.
844
+ */
845
+ clear: (options?: AvailableHybridRequestOptions) => Promise<_hybridly_core.NavigationResponse>;
846
+ /**
847
+ * Whether this filter is currently active.
848
+ */
849
+ is_active: boolean;
850
+ /**
851
+ * The type of this filter.
852
+ */
853
+ type: string;
854
+ /**
855
+ * The label of the filter.
856
+ */
857
+ label: string;
858
+ /**
859
+ * The metadata attributes of the filter.
860
+ */
861
+ metadata: Record<string, any>;
862
+ /**
863
+ * The name of the fitler.
864
+ */
865
+ name: string;
866
+ /**
867
+ * The current value of the filter.
868
+ */
869
+ value: any;
870
+ /**
871
+ * Whether this filter is hidden.
872
+ */
873
+ hidden: boolean;
874
+ /**
875
+ * The default value of the filter.
876
+ */
877
+ default: any;
878
+ }[];
808
879
  /**
809
880
  * Available sorts.
810
881
  */
811
- sorts: SortRefinement[];
882
+ sorts: {
883
+ /**
884
+ * Toggles this sort.
885
+ */
886
+ toggle: (options?: ToggleSortOptions) => Promise<_hybridly_core.NavigationResponse | undefined>;
887
+ /**
888
+ * Checks if this sort is active.
889
+ */
890
+ isSorting: (direction?: SortDirection) => boolean;
891
+ /**
892
+ * Clears this sort.
893
+ */
894
+ clear: (options?: AvailableHybridRequestOptions) => Promise<_hybridly_core.NavigationResponse>;
895
+ /**
896
+ * Whether this sort is currently active.
897
+ */
898
+ is_active: boolean;
899
+ /**
900
+ * The current direction of the sort.
901
+ */
902
+ direction?: SortDirection | undefined;
903
+ /**
904
+ * The default direction of the sort.
905
+ */
906
+ default?: SortDirection | undefined;
907
+ /**
908
+ * The label of the sort.
909
+ */
910
+ label: string;
911
+ /**
912
+ * The metadata attributes of the sort.
913
+ */
914
+ metadata: Record<string, any>;
915
+ /**
916
+ * The name of the sort.
917
+ */
918
+ name: string;
919
+ /**
920
+ * The value corresponding to the descending sort.
921
+ */
922
+ desc: string;
923
+ /**
924
+ * The value corresponding to the ascending sort.
925
+ */
926
+ asc: string;
927
+ /**
928
+ * The value that will be applied on toggle.
929
+ */
930
+ next: string;
931
+ /**
932
+ * Whether this sort is hidden.
933
+ */
934
+ hidden: boolean;
935
+ }[];
812
936
  /**
813
937
  * Gets a filter by name.
814
938
  */
@@ -828,7 +952,7 @@ declare function useRefinements<Properties extends object, RefinementsKey extend
828
952
  /**
829
953
  * Whether a sort is active.
830
954
  */
831
- isSorting: (name?: string) => boolean;
955
+ isSorting: (name?: string, direction?: SortDirection) => boolean;
832
956
  /**
833
957
  * Whether a filter is active.
834
958
  */
@@ -864,4 +988,237 @@ declare function useRoute(): {
864
988
  matches: <T extends string>(name: MaybeRefOrGetter<T>, parameters?: Record<string, any> | undefined) => boolean;
865
989
  };
866
990
 
867
- export { type Layout, RouterLink, defineLayout, defineLayoutProperties, initializeHybridly, registerHook, setProperty, useBackForward, useContext, useDialog, useForm, useHistoryState, usePaginator, useProperties, useProperty, useRefinements, useRoute };
991
+ interface BulkSelection<T = any> {
992
+ /** Whether all records are selected. */
993
+ all: boolean;
994
+ /** Included records. */
995
+ only: Set<T>;
996
+ /** Excluded records. */
997
+ except: Set<T>;
998
+ }
999
+ declare function useBulkSelect<T = any>(): {
1000
+ allSelected: vue.ComputedRef<boolean>;
1001
+ selectAll: () => void;
1002
+ deselectAll: () => void;
1003
+ select: (...records: T[]) => void;
1004
+ deselect: (...records: T[]) => void;
1005
+ toggle: (record: T, force?: boolean) => void;
1006
+ selected: (record: T) => boolean;
1007
+ selection: vue.Ref<{
1008
+ all: boolean;
1009
+ only: Set<T>;
1010
+ except: Set<T>;
1011
+ }>;
1012
+ };
1013
+
1014
+ declare global {
1015
+ interface Table<T extends Record<string, any> = any, PaginatorKind extends 'cursor' | 'length-aware' | 'simple' = 'length-aware'> {
1016
+ id: string;
1017
+ keyName: string;
1018
+ scope?: string;
1019
+ columns: Column<T>[];
1020
+ inlineActions: InlineAction[];
1021
+ bulkActions: BulkAction[];
1022
+ records: T[];
1023
+ paginator: Exclude<PaginatorKind extends 'cursor' ? CursorPaginator<T> : (PaginatorKind extends 'simple' ? SimplePaginator<T> : Paginator<T>), 'data'>;
1024
+ refinements: Refinements;
1025
+ endpoint: string;
1026
+ }
1027
+ }
1028
+ interface Column<T extends object = never> {
1029
+ /** The name of this column. */
1030
+ name: keyof T;
1031
+ /** The label of this column. */
1032
+ label: string;
1033
+ /** The type of this column. */
1034
+ type: string;
1035
+ /** Custom metadata for this column. */
1036
+ metadata: any;
1037
+ }
1038
+ interface Action {
1039
+ /** The name of this action. */
1040
+ name: string;
1041
+ /** The label of this action. */
1042
+ label: string;
1043
+ /** The type of this action. */
1044
+ type: string;
1045
+ /** Custom metadata for this action. */
1046
+ metadata: any;
1047
+ }
1048
+ interface BulkAction extends Action {
1049
+ /** Should deselect all records after action. */
1050
+ deselect: boolean;
1051
+ }
1052
+ interface BulkActionOptions {
1053
+ /** Force deselecting all records after action. */
1054
+ deselect?: boolean;
1055
+ }
1056
+ interface InlineAction extends Action {
1057
+ }
1058
+ type RecordIdentifier = string | number;
1059
+ /**
1060
+ * Provides utilities for working with tables.
1061
+ */
1062
+ declare function useTable<RecordType extends (Props[PropsKey] extends Table<infer RecordType, any> ? RecordType : never), PaginatorKindName extends (Props[PropsKey] extends Table<RecordType, infer PaginatorKind> ? PaginatorKind : never), TableType extends (Props[PropsKey] extends Table<RecordType, PaginatorKindName> ? Table<RecordType, PaginatorKindName> : never), Props extends Record<string, unknown>, PropsKey extends keyof Props>(props: Props, key: PropsKey, defaultOptions?: AvailableHybridRequestOptions): {
1063
+ bindFilter: <T = any>(name: string, options?: BindFilterOptions<T>) => vue.Ref<T>;
1064
+ filters: {
1065
+ apply: (value: any, options?: AvailableHybridRequestOptions | undefined) => Promise<hybridly.NavigationResponse | undefined>;
1066
+ clear: (options?: AvailableHybridRequestOptions | undefined) => Promise<hybridly.NavigationResponse>;
1067
+ is_active: boolean;
1068
+ type: string;
1069
+ label: string;
1070
+ metadata: Record<string, any>;
1071
+ name: string;
1072
+ value: any;
1073
+ hidden: boolean;
1074
+ default: any;
1075
+ }[];
1076
+ sorts: {
1077
+ toggle: (options?: ToggleSortOptions | undefined) => Promise<hybridly.NavigationResponse | undefined>;
1078
+ isSorting: (direction?: SortDirection | undefined) => boolean;
1079
+ clear: (options?: AvailableHybridRequestOptions | undefined) => Promise<hybridly.NavigationResponse>;
1080
+ is_active: boolean;
1081
+ direction?: SortDirection | undefined;
1082
+ default?: SortDirection | undefined;
1083
+ label: string;
1084
+ metadata: Record<string, any>;
1085
+ name: string;
1086
+ desc: string;
1087
+ asc: string;
1088
+ next: string;
1089
+ hidden: boolean;
1090
+ }[];
1091
+ getFilter: (name: string) => FilterRefinement | undefined;
1092
+ getSort: (name: string) => SortRefinement | undefined;
1093
+ reset: (options?: AvailableHybridRequestOptions) => Promise<hybridly.NavigationResponse>;
1094
+ toggleSort: (name: string, options?: ToggleSortOptions | undefined) => Promise<hybridly.NavigationResponse | undefined>;
1095
+ isSorting: (name?: string | undefined, direction?: SortDirection | undefined) => boolean;
1096
+ isFiltering: (name?: string | undefined) => boolean;
1097
+ currentSorts: () => SortRefinement[];
1098
+ currentFilters: () => FilterRefinement[];
1099
+ clearFilter: (filter: string, options?: AvailableHybridRequestOptions) => Promise<hybridly.NavigationResponse>;
1100
+ clearSorts: (options?: AvailableHybridRequestOptions) => Promise<hybridly.NavigationResponse>;
1101
+ clearFilters: (options?: AvailableHybridRequestOptions) => Promise<hybridly.NavigationResponse>;
1102
+ applyFilter: (name: string, value: any, options?: AvailableHybridRequestOptions) => Promise<hybridly.NavigationResponse | undefined>;
1103
+ selectAll: () => void;
1104
+ deselectAll: () => void;
1105
+ isSelected: (record: RecordType) => boolean;
1106
+ allSelected: boolean;
1107
+ selection: {
1108
+ all: boolean;
1109
+ only: Set<RecordIdentifier>;
1110
+ except: Set<RecordIdentifier>;
1111
+ };
1112
+ toggle: (record: RecordType) => void;
1113
+ select: (record: RecordType) => void;
1114
+ deselect: (record: RecordType) => void;
1115
+ inlineActions: {
1116
+ /** The name of this action. */
1117
+ name: string;
1118
+ /** The label of this action. */
1119
+ label: string;
1120
+ /** The type of this action. */
1121
+ type: string;
1122
+ /** Custom metadata for this action. */
1123
+ metadata: any;
1124
+ /** Executes the action. */
1125
+ execute: (record: RecordType | RecordIdentifier) => Promise<hybridly.NavigationResponse>;
1126
+ }[];
1127
+ bulkActions: {
1128
+ /** Should deselect all records after action. */
1129
+ deselect: boolean;
1130
+ /** The name of this action. */
1131
+ name: string;
1132
+ /** The label of this action. */
1133
+ label: string;
1134
+ /** The type of this action. */
1135
+ type: string;
1136
+ /** Custom metadata for this action. */
1137
+ metadata: any;
1138
+ /** Executes the action. */
1139
+ execute: (options?: BulkActionOptions) => Promise<hybridly.NavigationResponse>;
1140
+ }[];
1141
+ executeInlineAction: (action: Action | string, record: RecordType | RecordIdentifier) => Promise<hybridly.NavigationResponse>;
1142
+ executeBulkAction: (action: Action | string, options?: BulkActionOptions) => Promise<hybridly.NavigationResponse>;
1143
+ columns: {
1144
+ /** Toggles sorting for this column. */
1145
+ toggleSort: (options?: ToggleSortOptions) => Promise<hybridly.NavigationResponse | undefined>;
1146
+ /** Checks whether the column is being sorted. */
1147
+ isSorting: (direction?: SortDirection) => boolean;
1148
+ /** Applies the filer for this column. */
1149
+ applyFilter: (value: any, options?: AvailableHybridRequestOptions) => Promise<hybridly.NavigationResponse | undefined>;
1150
+ /** Clears the filter for this column. */
1151
+ clearFilter: (options?: AvailableHybridRequestOptions) => Promise<hybridly.NavigationResponse>;
1152
+ /** Checks whether the column is sortable. */
1153
+ isSortable: {
1154
+ toggle: (options?: ToggleSortOptions | undefined) => Promise<hybridly.NavigationResponse | undefined>;
1155
+ isSorting: (direction?: SortDirection | undefined) => boolean;
1156
+ clear: (options?: AvailableHybridRequestOptions | undefined) => Promise<hybridly.NavigationResponse>;
1157
+ is_active: boolean;
1158
+ direction?: SortDirection | undefined;
1159
+ default?: SortDirection | undefined;
1160
+ label: string;
1161
+ metadata: Record<string, any>;
1162
+ name: string;
1163
+ desc: string;
1164
+ asc: string;
1165
+ next: string;
1166
+ hidden: boolean;
1167
+ } | undefined;
1168
+ /** Checks whether the column is filterable. */
1169
+ isFilterable: {
1170
+ apply: (value: any, options?: AvailableHybridRequestOptions | undefined) => Promise<hybridly.NavigationResponse | undefined>;
1171
+ clear: (options?: AvailableHybridRequestOptions | undefined) => Promise<hybridly.NavigationResponse>;
1172
+ is_active: boolean;
1173
+ type: string;
1174
+ label: string;
1175
+ metadata: Record<string, any>;
1176
+ name: string;
1177
+ value: any;
1178
+ hidden: boolean;
1179
+ default: any;
1180
+ } | undefined;
1181
+ /** The name of this column. */
1182
+ name: keyof RecordType;
1183
+ /** The label of this column. */
1184
+ label: string;
1185
+ /** The type of this column. */
1186
+ type: string;
1187
+ /** Custom metadata for this column. */
1188
+ metadata: any;
1189
+ }[];
1190
+ records: {
1191
+ /** The actual record. */
1192
+ record: RecordType;
1193
+ /** The key of the record. Use this instead of `id`. */
1194
+ key: RecordIdentifier;
1195
+ /** Executes the given inline action. */
1196
+ execute: (action: string | InlineAction) => Promise<hybridly.NavigationResponse>;
1197
+ /** Gets the available inline actions. */
1198
+ actions: {
1199
+ /** Executes the action. */
1200
+ execute: () => Promise<hybridly.NavigationResponse>;
1201
+ /** The name of this action. */
1202
+ name: string;
1203
+ /** The label of this action. */
1204
+ label: string;
1205
+ /** The type of this action. */
1206
+ type: string;
1207
+ /** Custom metadata for this action. */
1208
+ metadata: any;
1209
+ }[];
1210
+ /** Selects this record. */
1211
+ select: () => void;
1212
+ /** Deselects this record. */
1213
+ deselect: () => void;
1214
+ /** Toggles the selection for this record. */
1215
+ toggle: (force?: boolean) => void;
1216
+ /** Checks whether this record is selected. */
1217
+ selected: boolean;
1218
+ /** Gets the value of the record for the specified column. */
1219
+ value: (column: string | Column<RecordType>) => RecordType[string | keyof RecordType];
1220
+ }[];
1221
+ paginator: Exclude<PaginatorKindName extends "cursor" ? CursorPaginator<RecordType> : PaginatorKindName extends "simple" ? SimplePaginator<RecordType> : Paginator<RecordType>, "data">;
1222
+ };
1223
+
1224
+ export { type Action, type AvailableHybridRequestOptions, type BindFilterOptions, type BulkAction, type BulkSelection, type Column, type InlineAction, type Layout, type RecordIdentifier, RouterLink, type SortDirection, type ToggleSortOptions, defineLayout, defineLayoutProperties, initializeHybridly, registerHook, setProperty, useBackForward, useBulkSelect, useContext, useDialog, useForm, useHistoryState, useProperties, useProperty, useRefinements, useRoute, useTable };