import { Aspect, CheckerType, EntityDict, OpRecord } from 'oak-domain/lib/types'; import { EntityDict as BaseEntityDict } from 'oak-domain/lib/base-app-domain'; import { BasicFeatures } from './features'; import { NamedFilterItem, NamedSorterItem } from './types/NamedCondition'; import { Feature } from './types/Feature'; import { DataOption, ComponentProps, OakComponentOption, OakNavigateToParameters } from './types/Page'; import { MessageProps } from './types/Message'; import { NotificationProps } from './types/Notification'; import { SyncContext } from 'oak-domain/lib/store/SyncRowStore'; import { AsyncContext } from 'oak-domain/lib/store/AsyncRowStore'; export declare function createComponent, FrontCxt extends SyncContext, AD extends Record>>, FD extends Record, FormedData extends Record, TData extends Record = {}, TProperty extends DataOption = {}, TMethod extends Record = {}>(option: OakComponentOption, features: BasicFeatures & FD): { new (props: ComponentProps): { features: BasicFeatures & FD; oakOption: OakComponentOption; oakLifetime: string; isReachBottom: boolean; methodProps: Record; defaultProperties: Record; iAmThePage(): boolean; isMobile(): boolean; supportPullDownRefresh(): boolean; componentDidMount(): Promise; componentWillUnmount(): void; componentDidUpdate(prevProps: Record, prevState: Record): Promise; render(): React.ReactNode; featuresSubscribed: { name: string; callback: (args?: any) => void; unsubHandler?: (() => void) | undefined; }[]; addFeatureSub(name: string, callback: (args?: any) => void): void; removeFeatureSub(name: string, callback: (args?: any) => void): void; unsubscribeAll(): void; subscribeAll(): void; save(key: string, item: any): Promise; load(key: string): Promise; clear(key?: string | undefined): Promise; setNotification(data: NotificationProps): void; consumeNotification(): NotificationProps | undefined; setMessage(data: MessageProps): Promise; consumeMessage(): MessageProps | undefined; reRender(extra?: Record | undefined): void; navigateTo(options: { url: string; } & OakNavigateToParameters, state?: Record | undefined, disableNamespace?: boolean | undefined): Promise; navigateBack(delta?: number | undefined): Promise; redirectTo(options: { url: string; } & OakNavigateToParameters, state?: Record | undefined, disableNamespace?: boolean | undefined): Promise; addItem(data: Omit & { id?: string | undefined; }, path?: string | undefined): string; addItems(data: (Omit & { id?: string | undefined; })[], path?: string | undefined): string[]; removeItem(id: string, path?: string | undefined): void; removeItems(ids: string[], path?: string | undefined): void; updateItem(data: ED[T_3]["Update"]["data"], id: string, action?: ED[T_3]["Action"] | undefined, path?: string | undefined): void; recoverItem(id: string, path?: string | undefined): void; recoverItems(ids: string[], path?: string | undefined): void; resetItem(id: string, path?: string | undefined): void; update(data: ED[T_4]["Update"]["data"], action?: ED[T_4]["Action"] | undefined, path?: string | undefined): void; create(data: Omit, path?: string | undefined): void; remove(path?: string | undefined): void; isCreation(path?: string | undefined): boolean; clean(lsn?: number | undefined, dontPublish?: true | undefined, path?: string | undefined): void; savePoint(): number; t(key: string, params?: object | undefined): string; execute(action?: ED[T]["Action"] | undefined, messageProps?: boolean | MessageProps | undefined, path?: string | undefined, opers?: { entity: T; operation: ED[T]["Operation"]; }[] | undefined): Promise; isDirty(path?: string | undefined): boolean; getFreshValue(path?: string | undefined): Partial | Partial[] | undefined; checkOperation(entity: T2_2, operation: Omit, checkerTypes?: (CheckerType | "relation")[] | undefined): boolean | import("oak-domain/lib/types").OakUserException; tryExecute(path?: string | undefined, action?: string | undefined): boolean | import("oak-domain/lib/types").OakUserException; getOperations(path?: string | undefined): { entity: keyof ED; operation: ED[keyof ED]["Operation"]; }[] | undefined; refresh(): Promise; loadMore(): Promise; setId(id: string, path?: string | undefined): void; unsetId(): void; getId(path?: string | undefined): string | undefined; setFilters(filters: NamedFilterItem[], path?: string | undefined): void; setNamedFilters(filters: NamedFilterItem[], refresh?: boolean | undefined, path?: string | undefined): void; getFilters(path?: string | undefined): any[] | undefined; getFilterByName(name: string, path?: string | undefined): any; addNamedFilter(namedFilter: NamedFilterItem, refresh?: boolean | undefined, path?: string | undefined): void; removeNamedFilter(namedFilter: NamedFilterItem, refresh?: boolean | undefined, path?: string | undefined): void; removeNamedFilterByName(name: string, refresh?: boolean | undefined, path?: string | undefined): void; setNamedSorters(namedSorters: NamedSorterItem[], refresh?: boolean | undefined, path?: string | undefined): void; getSorters(path?: string | undefined): ED[T]["Selection"]["sorter"][] | undefined; getSorterByName(name: string, path?: string | undefined): any; addNamedSorter(namedSorter: NamedSorterItem, refresh?: boolean | undefined, path?: string | undefined): void; removeNamedSorter(namedSorter: NamedSorterItem, refresh?: boolean | undefined, path?: string | undefined): void; removeNamedSorterByName(name: string, refresh?: boolean | undefined, path?: string | undefined): void; getPagination(path?: string | undefined): import(".").Pagination | undefined; setPageSize(pageSize: number, path?: string | undefined): void; setCurrentPage(currentPage: number, path?: string | undefined): void; subDataEvents(events: string[], moduleName: string, callback: (event: string, opRecords: OpRecord[]) => void): Promise; unsubDataEvents(events: string[], moduleName: string): Promise; }; };