import type { ActionTypes, RequestMiddleware } from '@forgerock/sdk-request-middleware'; import { logger as loggerFn } from '@forgerock/sdk-logger'; import { type SerializedError } from '@reduxjs/toolkit'; import type { GenericError } from '@forgerock/sdk-types'; import type { FetchBaseQueryError } from '@reduxjs/toolkit/query'; /** * @function createClientStore * @description Creates a Redux store configured with OIDC and well-known APIs. * @param param - Configuration options for the client store. * @param {RequestMiddleware} param.requestMiddleware - An array of request middleware functions to be applied to the store. * @param {ReturnType} param.logger - An optional logger function for logging messages. * @returns { ReturnType } - Returns a configured Redux store with OIDC and well-known APIs. */ export declare function createClientStore({ requestMiddleware, logger, }: { requestMiddleware?: RequestMiddleware[]; logger?: ReturnType; }): import("@reduxjs/toolkit").EnhancedStore<{ oidc: import("@reduxjs/toolkit/query").CombinedState<{ authorizeFetch: import("@reduxjs/toolkit/query").MutationDefinition<{ url: string; }, import("@reduxjs/toolkit/query").BaseQueryFn, never, import("./authorize.request.types.js").AuthorizeSuccessResponse, "oidc", unknown>; par: import("@reduxjs/toolkit/query").MutationDefinition<{ endpoint: string; body: URLSearchParams; }, import("@reduxjs/toolkit/query").BaseQueryFn, never, import("./par.types.js").PushAuthorizationResponse, "oidc", unknown>; sessionCheckIframe: import("@reduxjs/toolkit/query").MutationDefinition<{ url: string; responseType: import("./session.types.js").SessionCheckResponseType; }, import("@reduxjs/toolkit/query").BaseQueryFn, never, { params: Record; }, "oidc", unknown>; sessionCheckFetch: import("@reduxjs/toolkit/query").MutationDefinition<{ url: string; }, import("@reduxjs/toolkit/query").BaseQueryFn, never, { status: 204; }, "oidc", unknown>; authorizeIframe: import("@reduxjs/toolkit/query").MutationDefinition<{ url: string; }, import("@reduxjs/toolkit/query").BaseQueryFn, never, import("./authorize.request.types.js").AuthorizationSuccess, "oidc", unknown>; endSession: import("@reduxjs/toolkit/query").MutationDefinition<{ idToken: string; endpoint: string; signOutRedirectUri?: string; }, import("@reduxjs/toolkit/query").BaseQueryFn, never, null, "oidc", unknown>; exchange: import("@reduxjs/toolkit/query").MutationDefinition<{ code: string; config: import("@forgerock/sdk-types").OidcConfig; endpoint: string; verifier?: string; }, import("@reduxjs/toolkit/query").BaseQueryFn, never, import("./exchange.types.js").TokenExchangeResponse, "oidc", unknown>; revoke: import("@reduxjs/toolkit/query").MutationDefinition<{ accessToken: string; clientId?: string; endpoint: string; }, import("@reduxjs/toolkit/query").BaseQueryFn, never, object, "oidc", unknown>; userInfo: import("@reduxjs/toolkit/query").MutationDefinition<{ accessToken: string; endpoint: string; }, import("@reduxjs/toolkit/query").BaseQueryFn, never, import("./client.types.js").UserInfoResponse, "oidc", unknown>; }, never, "oidc">; wellknown: import("@reduxjs/toolkit/query").CombinedState<{ configuration: import("@reduxjs/toolkit/query").QueryDefinition, never, import("@forgerock/sdk-types").WellknownResponse, "wellknown", unknown>; }, never, "wellknown">; }, import("@reduxjs/toolkit").UnknownAction, import("@reduxjs/toolkit").Tuple<[import("@reduxjs/toolkit").StoreEnhancer<{ dispatch: import("@reduxjs/toolkit").ThunkDispatch<{ oidc: import("@reduxjs/toolkit/query").CombinedState<{ authorizeFetch: import("@reduxjs/toolkit/query").MutationDefinition<{ url: string; }, import("@reduxjs/toolkit/query").BaseQueryFn, never, import("./authorize.request.types.js").AuthorizeSuccessResponse, "oidc", unknown>; par: import("@reduxjs/toolkit/query").MutationDefinition<{ endpoint: string; body: URLSearchParams; }, import("@reduxjs/toolkit/query").BaseQueryFn, never, import("./par.types.js").PushAuthorizationResponse, "oidc", unknown>; sessionCheckIframe: import("@reduxjs/toolkit/query").MutationDefinition<{ url: string; responseType: import("./session.types.js").SessionCheckResponseType; }, import("@reduxjs/toolkit/query").BaseQueryFn, never, { params: Record; }, "oidc", unknown>; sessionCheckFetch: import("@reduxjs/toolkit/query").MutationDefinition<{ url: string; }, import("@reduxjs/toolkit/query").BaseQueryFn, never, { status: 204; }, "oidc", unknown>; authorizeIframe: import("@reduxjs/toolkit/query").MutationDefinition<{ url: string; }, import("@reduxjs/toolkit/query").BaseQueryFn, never, import("./authorize.request.types.js").AuthorizationSuccess, "oidc", unknown>; endSession: import("@reduxjs/toolkit/query").MutationDefinition<{ idToken: string; endpoint: string; signOutRedirectUri?: string; }, import("@reduxjs/toolkit/query").BaseQueryFn, never, null, "oidc", unknown>; exchange: import("@reduxjs/toolkit/query").MutationDefinition<{ code: string; config: import("@forgerock/sdk-types").OidcConfig; endpoint: string; verifier?: string; }, import("@reduxjs/toolkit/query").BaseQueryFn, never, import("./exchange.types.js").TokenExchangeResponse, "oidc", unknown>; revoke: import("@reduxjs/toolkit/query").MutationDefinition<{ accessToken: string; clientId?: string; endpoint: string; }, import("@reduxjs/toolkit/query").BaseQueryFn, never, object, "oidc", unknown>; userInfo: import("@reduxjs/toolkit/query").MutationDefinition<{ accessToken: string; endpoint: string; }, import("@reduxjs/toolkit/query").BaseQueryFn, never, import("./client.types.js").UserInfoResponse, "oidc", unknown>; }, never, "oidc">; wellknown: import("@reduxjs/toolkit/query").CombinedState<{ configuration: import("@reduxjs/toolkit/query").QueryDefinition, never, import("@forgerock/sdk-types").WellknownResponse, "wellknown", unknown>; }, never, "wellknown">; }, { /** * This becomes the `api.extra` argument, and will be passed into the * customer query wrapper for `baseQuery` */ requestMiddleware: RequestMiddleware[] | undefined; logger: { changeLevel: (level: import("@forgerock/sdk-logger").LogLevel) => void; error: (...args: import("@forgerock/sdk-logger").LogMessage[]) => void; warn: (...args: import("@forgerock/sdk-logger").LogMessage[]) => void; info: (...args: import("@forgerock/sdk-logger").LogMessage[]) => void; debug: (...args: import("@forgerock/sdk-logger").LogMessage[]) => void; } | undefined; }, import("@reduxjs/toolkit").UnknownAction>; }>, import("@reduxjs/toolkit").StoreEnhancer]>>; /** * @function createLogoutError * @description Creates a logout error object based on the provided data and error. * @param {object | null | undefined} data - The data returned from the logout API call. * @param {FetchBaseQueryError | SerializedError} error - An optional error object that may contain details about the error that occurred during the logout process. * @returns {null | GenericError} - Returns a `GenericError` object if an error occurred, or `null` if no error is present. */ export declare function createLogoutError(data: object | null | undefined, error?: FetchBaseQueryError | SerializedError): null | GenericError; export declare function createTokenError(type: 'no_tokens' | 'no_access_token' | 'no_id_token'): GenericError; //# sourceMappingURL=client.store.utils.d.ts.map