1 | import React from 'react';
|
2 | import { DocumentNode } from 'graphql';
|
3 | import { LoadableComponent } from '@loadable/component';
|
4 | interface PreloadArgs {
|
5 | pathname: string;
|
6 | preloadRoute?: boolean;
|
7 | routeType: 'Category' | 'Product' | 'Page';
|
8 | variables?: any;
|
9 | }
|
10 | export interface PreLoaderProviderConfig {
|
11 | routeQuery: DocumentNode;
|
12 | preloadComponents: {
|
13 | Product: LoadableComponent<any>[];
|
14 | Category: LoadableComponent<any>[];
|
15 | Page: LoadableComponent<any>[];
|
16 | };
|
17 | }
|
18 | export interface PreLoaderProviderProps extends PreLoaderProviderConfig {
|
19 | children: React.ReactNode;
|
20 | }
|
21 | export declare const useRoutePreload: () => {
|
22 | preload: ({ pathname, preloadRoute, routeType, variables }: PreloadArgs) => void;
|
23 | };
|
24 | export {};
|