/** * ArrayMapperRegistry - Centralized registry for managing array mappers, * their associated states, search inputs, and pagination buttons. * * This ensures consistent index usage across: * - Component state declarations * - DataProvider params * - getStaticProps fetch calls and prop names * - Search input bindings * - Pagination button bindings */ export type MapperType = 'paginated' | 'pagination-only' | 'search-only' | 'plain'; export interface ArrayMapperRegistryEntry { registryIndex: number; type: MapperType; dataSourceIdentifier: string; arrayMapperRenderProp: string; uidlGlobalIndex: number; paginated: boolean; searchEnabled: boolean; perPage: number; searchDebounce: number; searchDefaultValue?: string; queryColumns: string[]; stateVarPrefix: string; pageStateVar?: string; setPageStateVar?: string; maxPagesStateVar?: string; setMaxPagesStateVar?: string; combinedStateVar?: string; setCombinedStateVar?: string; searchQueryVar?: string; setSearchQueryVar?: string; debouncedSearchQueryVar?: string; setDebouncedSearchQueryVar?: string; skipDebounceRefVar?: string; getStaticPropsDataVar: string; getStaticPropsMaxPagesVar: string; getStaticPropsPropName: string; getStaticPropsMaxPagesPropName: string; searchInputClass?: string; paginationNodeClass?: string; prevButtonClass?: string; nextButtonClass?: string; dataProviderJSX?: any; searchInputJSX?: any; } export declare class ArrayMapperRegistry { private entries; private paginatedCount; private paginationOnlyCount; private searchOnlyCount; private plainCount; registerFromUIDL(config: { dataSourceIdentifier: string; arrayMapperRenderProp: string; uidlGlobalIndex: number; paginated: boolean; searchEnabled: boolean; perPage?: number; searchDebounce?: number; searchDefaultValue?: string; queryColumns?: string[]; }): ArrayMapperRegistryEntry; getEntry(registryIndex: number): ArrayMapperRegistryEntry | undefined; getEntryByUIDLIndex(uidlGlobalIndex: number): ArrayMapperRegistryEntry | undefined; getEntriesByType(type: MapperType): ArrayMapperRegistryEntry[]; getAllEntries(): ArrayMapperRegistryEntry[]; getPaginatedEntries(): ArrayMapperRegistryEntry[]; getPaginationOnlyEntries(): ArrayMapperRegistryEntry[]; getSearchOnlyEntries(): ArrayMapperRegistryEntry[]; getPlainEntries(): ArrayMapperRegistryEntry[]; updateJSXReferences(registryIndex: number, updates: Partial>): void; getStateInitializationMaxPagesPropName(entry: ArrayMapperRegistryEntry): string; toDebugSummary(): string; private determineType; private getTypeIndex; private incrementTypeCount; private generateStateVarPrefix; private generateStateVarNames; private generateGetStaticPropsVarNames; private capitalize; } export declare function createRegistryFromUIDL(uidlNode: any, allResources: any): ArrayMapperRegistry; //# sourceMappingURL=array-mapper-registry.d.ts.map