/// import { ConfigInterface as swrConfigInterface, responseInterface as swrResponseInterface } from 'swr'; import { AxiosRequestConfig, Method, AxiosResponse } from 'axios'; export type { AxiosResponse }; export declare type ExtendedField = { params: Params | undefined; dataArray: Data[]; dataJson: Data; responseBlob: any; responseArray: Response; responseJson: Response; }; declare type OnSuccessRes = ExtendedField & { key: string; config: Config; }; export declare type ConfigInterface = Omit>, 'onSuccess'>; export interface BaseConfigInterface extends ConfigInterface { onSuccess?: (res: OnSuccessRes>) => void; } declare type OmitIsPaused = Omit, 'isPaused'>; export interface ManualConfigInterface extends OmitIsPaused { manual: boolean; onSuccess?: (res: OnSuccessRes>) => void; } export interface PaginationConfigInterface extends ConfigInterface { defaultPageSize?: number; paginated?: boolean; onSuccess?: (res: OnSuccessRes>) => void; } export interface LoadMoreConfigInterface extends ConfigInterface { defaultPageSize?: number; loadMore?: boolean; onSuccess?: (res: OnSuccessRes>) => void; } export declare type PaginationParams = Params & { page: number; pageSize: number; }; export declare type swrResponse = swrResponseInterface, any>; export declare type BaseResult = swrResponse & ExtendedField; export interface ManualResult extends BaseResult { run: (params: Params) => void; } export interface PaginationResult extends BaseResult { params: PaginationParams; pagination: PaginationConfig; tableProps: { pagination: PaginationConfig; loading: boolean; onChange: (pagination: PaginationConfig) => void; dataSource: Data[]; [key: string]: any; }; noMore?: boolean; onLoadMore: () => any; dataArray: Data[]; dataJson: Data; responseArray: PaginationResponse; responseJson: PaginationResponse; } export interface LoadMoreResult extends BaseResult { params: PaginationParams; noMore?: boolean; onLoadMore: () => any; dataArray: Data[]; dataJson: Data; list: Data[]; responseArray: PaginationResponse; responseJson: PaginationResponse; } export declare interface Response { code: number; message: string; data: Data; } export declare interface PaginationResponse extends Response { totalPage?: number; pageSize?: number; page?: number; total?: number; } export interface PaginationConfig { total?: number; defaultCurrent?: number; disabled?: boolean; current?: number; defaultPageSize?: number; pageSize?: number; onChange?: (page: number, pageSize?: number) => void; hideOnSinglePage?: boolean; showSizeChanger?: boolean; pageSizeOptions?: string[]; onShowSizeChange?: (current: number, size: number) => void; showQuickJumper?: boolean | { goButton?: React.ReactNode; }; showTotal?: (total: number, range: [number, number]) => React.ReactNode; simple?: boolean; style?: React.CSSProperties; locale?: Object; className?: string; prefixCls?: string; selectPrefixCls?: string; itemRender?: (page: number, type: 'page' | 'prev' | 'next' | 'jump-prev' | 'jump-next', originalElement: React.ReactElement) => React.ReactNode; role?: string; showLessItems?: boolean; [key: string]: any; } export declare type ApiConfig = AxiosRequestConfig & { url: string; method?: Method; params?: Params; data?: Params; _response?: Data; [x: string]: any; }; /** * 设计两层service的原因在于,两层扩展更加灵活。 * 两层service的params在最后执行的时候将会被merge到一起,所以在扩展模块中(如分页),第二层常常被用来传入一些逻辑参数。 */ export declare type HeadService = (headParams: Params, otherSet?: object) => LastService; export declare type LastService = (lastParams?: Params) => ApiConfig; export declare type ServiceCombin = LastService | ApiConfig | null; export declare type ManualService = HeadService | ServiceCombin; export declare type ServiceResult = ApiConfig | null; //# sourceMappingURL=type.d.ts.map