import * as React from 'react'; import { ComponentSync } from '../../core/ComponentSync.js'; import { ResolvableContent } from '@nu-art/ts-common'; import './AwaitModules.scss'; import { ModuleFE_BaseDB } from '../../modules/db-api-gen/ModuleFE_BaseDB.js'; import { ThunderDispatcher } from '../../core/thunder-dispatcher.js'; import { OnSyncStatusChangedListener } from '../../core/db-api-gen/types.js'; type Props = React.PropsWithChildren<{ modules: ResolvableContent<(ModuleFE_BaseDB)[]>; customLoader?: ResolvableContent; }>; type State = { validModules: (ModuleFE_BaseDB)[]; readyModules: (ModuleFE_BaseDB)[]; ready: boolean; }; export type AwaitModule_LoaderProps = { validModules: (ModuleFE_BaseDB)[]; readyModules: (ModuleFE_BaseDB)[]; awaitedModules: (ModuleFE_BaseDB)[]; onClick: VoidFunction; }; interface QueryAwaitedModules { __queryAwaitedModule(): (ModuleFE_BaseDB)[]; } export declare const dispatch_QueryAwaitedModules: ThunderDispatcher>[]>; export declare class AwaitModules extends ComponentSync implements OnSyncStatusChangedListener, QueryAwaitedModules { __onSyncStatusChanged(module: ModuleFE_BaseDB): void; __queryAwaitedModule(): ModuleFE_BaseDB>[]; constructor(props: Props); shouldComponentUpdate(): boolean; protected deriveStateFromProps(nextProps: Props, state: State): State; protected getUnpreparedModules(): (ModuleFE_BaseDB)[]; private getMissingPermissionModules; protected renderMissingPermissions: () => import("react/jsx-runtime").JSX.Element; private renderLoader; private onLoaderClick; render(): string | number | boolean | Iterable | import("react/jsx-runtime").JSX.Element | null | undefined; } export {};