import type { ThunkDispatch } from '@reduxjs/toolkit'; import type { MaybePromise, UnwrapPromise } from './tsHelpers'; export interface BaseQueryApi { signal: AbortSignal; dispatch: ThunkDispatch; getState: () => unknown; extra: unknown; } export declare type QueryReturnValue = { error: E; data?: undefined; meta?: M; } | { error?: undefined; data: T; meta?: M; }; export declare type BaseQueryFn = (args: Args, api: BaseQueryApi, extraOptions: DefinitionExtraOptions) => MaybePromise>; export declare type BaseQueryEnhancer = (baseQuery: BaseQuery, config: Config) => BaseQueryFn & AdditionalArgs, BaseQueryResult, BaseQueryError, BaseQueryExtraOptions & AdditionalDefinitionExtraOptions>; export declare type BaseQueryResult = UnwrapPromise> extends infer Unwrapped ? Unwrapped extends { data: any; } ? Unwrapped['data'] : never : never; export declare type BaseQueryMeta = UnwrapPromise>['meta']; export declare type BaseQueryError = Exclude>, { error?: undefined; }>['error']; export declare type BaseQueryArg any> = T extends (arg: infer A, ...args: any[]) => any ? A : any; export declare type BaseQueryExtraOptions = Parameters[2];