import { TableHelper } from "../table-helper"; export declare class AutoLoadSelectHelper extends TableHelper.TableHelper { constructor(loadSelectOptions: LoadSelectOptionsFunction, recordKeyName: TableHelper.RecordKey, options?: Partial); optionSource: Array; private _abortController; protected _joinLoadRecordArguments(): Parameters>; protected _onBeforeLoadRecord(): Error | undefined; protected _onAfterLoadRecord(changes: Partial, error?: Error): Error | undefined; } export declare function useAutoLoadSelectHelper(loadRecord: LoadSelectOptionsFunction, recordKeyName: TableHelper.RecordKey, options?: Partial): { selectHelper: { optionSource: TableHelper.RecordType[]; latestLoadRecord?: TableHelper.RecordType[] | undefined; readonly options: { pageStartIndex: number; pageSize: number; }; paginationParams: { current: number; pageSize: number; }; filterParams: TableHelper.TableFilterParams; sortParams: { direction: "ascend" | "descend" | null | undefined; field: string; }[]; loading: boolean; processing: boolean; total: number; readonly records: TableHelper.RecordType[]; readonly pageCount: number; nextPage: () => AutoLoadSelectHelper; lastPage: () => AutoLoadSelectHelper; previousPage: () => AutoLoadSelectHelper; firstPage: () => AutoLoadSelectHelper; reloadPage: () => AutoLoadSelectHelper; skipToPage: (pageNumber: number, relative?: boolean) => AutoLoadSelectHelper; wait: () => Promise; updateFilterParams: (params: TableHelper.TableFilterParams) => AutoLoadSelectHelper; addSortParams: (...paramsList: TableHelper.TableSortParams[]) => AutoLoadSelectHelper; removeSortParams: (...args: (string | TableHelper.TableSortParams)[]) => AutoLoadSelectHelper; updatePaginationParams: (params: Partial) => AutoLoadSelectHelper; loadRecord: (immediate?: boolean) => AutoLoadSelectHelper; destroy: () => void; on: (type: K, listener: (event: TableHelper.TableHelperEventMap[K]) => any) => void; off: (type: K_1, listener: (event: TableHelper.TableHelperEventMap[K_1]) => any) => void; once: (type: K_2, listener: (event: TableHelper.TableHelperEventMap[K_2]) => any) => void; }; onSearchValueChange: (value: string) => void; }; /** * 加载记录的函数, 用于 {@link AutoLoadSelectHelper} 的构造函数. * @param pagination 分页参数 * @param filter 过滤参数 * @param sort 排序参数 * @param extra 额外参数 * @param extra.abortSignal 中断信号, 用于中断请求 * * @returns 返回值为 {@link LoadTableRecordFunctionResult} */ export declare type LoadSelectOptionsFunction = (pagination: TableHelper.TablePaginationParams, filter: TableHelper.TableFilterParams, sort: Array, extra: { abortSignal: AbortSignal; }) => Promise>;