import type { WellknownResponse } from '@forgerock/sdk-types'; import type { FetchBaseQueryError, FetchBaseQueryMeta } from '@reduxjs/toolkit/query'; import type { RootState } from './client.types.js'; /** * RTK Query API for well-known endpoint discovery. * * Uses the `initWellknownQuery` builder pattern from `@forgerock/sdk-oidc`. * The builder constructs the request and validates the response; * `fetchBaseQuery` handles the HTTP transport through RTK Query's pipeline. */ export declare const wellknownApi: import("@reduxjs/toolkit/query").Api, { configuration: import("@reduxjs/toolkit/query").QueryDefinition, never, WellknownResponse, "wellknown", unknown>; }, "wellknown", never, typeof import("@reduxjs/toolkit/query").coreModuleName>; /** * Creates a memoized selector for cached well-known data. * * @param wellknownUrl - The well-known endpoint URL used as the cache key * @returns A memoized selector that extracts the WellknownResponse from state, or undefined if not yet fetched */ export declare function createWellknownSelector(wellknownUrl: string): ((state: import("@reduxjs/toolkit/query").RootState<{ configuration: import("@reduxjs/toolkit/query").QueryDefinition, never, WellknownResponse, "wellknown", unknown>; }, never, "wellknown">) => WellknownResponse | undefined) & { clearCache: () => void; resultsCount: () => number; resetResultsCount: () => void; } & { resultFunc: (resultFuncArgs_0: ({ status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized; originalArgs?: undefined | undefined; data?: undefined | undefined; error?: undefined | undefined; requestId?: undefined | undefined; endpointName?: string | undefined; startedTimeStamp?: undefined | undefined; fulfilledTimeStamp?: undefined | undefined; } & { status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized; isUninitialized: true; isLoading: false; isSuccess: false; isError: false; }) | ({ status: import("@reduxjs/toolkit/query").QueryStatus.fulfilled; error: undefined; originalArgs: string; requestId: string; endpointName: string; startedTimeStamp: number; data: WellknownResponse; fulfilledTimeStamp: number; } & { status: import("@reduxjs/toolkit/query").QueryStatus.fulfilled; isUninitialized: false; isLoading: false; isSuccess: true; isError: false; }) | ({ status: import("@reduxjs/toolkit/query").QueryStatus.pending; originalArgs: string; requestId: string; data?: WellknownResponse | undefined; error?: FetchBaseQueryError | import("@reduxjs/toolkit").SerializedError | undefined; endpointName: string; startedTimeStamp: number; fulfilledTimeStamp?: number | undefined; } & { status: import("@reduxjs/toolkit/query").QueryStatus.pending; isUninitialized: false; isLoading: true; isSuccess: false; isError: false; }) | ({ status: import("@reduxjs/toolkit/query").QueryStatus.rejected; data?: WellknownResponse | undefined; fulfilledTimeStamp?: number | undefined; originalArgs: string; requestId: string; endpointName: string; startedTimeStamp: number; error: FetchBaseQueryError | import("@reduxjs/toolkit").SerializedError; } & { status: import("@reduxjs/toolkit/query").QueryStatus.rejected; isUninitialized: false; isLoading: false; isSuccess: false; isError: true; })) => WellknownResponse | undefined; memoizedResultFunc: ((resultFuncArgs_0: ({ status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized; originalArgs?: undefined | undefined; data?: undefined | undefined; error?: undefined | undefined; requestId?: undefined | undefined; endpointName?: string | undefined; startedTimeStamp?: undefined | undefined; fulfilledTimeStamp?: undefined | undefined; } & { status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized; isUninitialized: true; isLoading: false; isSuccess: false; isError: false; }) | ({ status: import("@reduxjs/toolkit/query").QueryStatus.fulfilled; error: undefined; originalArgs: string; requestId: string; endpointName: string; startedTimeStamp: number; data: WellknownResponse; fulfilledTimeStamp: number; } & { status: import("@reduxjs/toolkit/query").QueryStatus.fulfilled; isUninitialized: false; isLoading: false; isSuccess: true; isError: false; }) | ({ status: import("@reduxjs/toolkit/query").QueryStatus.pending; originalArgs: string; requestId: string; data?: WellknownResponse | undefined; error?: FetchBaseQueryError | import("@reduxjs/toolkit").SerializedError | undefined; endpointName: string; startedTimeStamp: number; fulfilledTimeStamp?: number | undefined; } & { status: import("@reduxjs/toolkit/query").QueryStatus.pending; isUninitialized: false; isLoading: true; isSuccess: false; isError: false; }) | ({ status: import("@reduxjs/toolkit/query").QueryStatus.rejected; data?: WellknownResponse | undefined; fulfilledTimeStamp?: number | undefined; originalArgs: string; requestId: string; endpointName: string; startedTimeStamp: number; error: FetchBaseQueryError | import("@reduxjs/toolkit").SerializedError; } & { status: import("@reduxjs/toolkit/query").QueryStatus.rejected; isUninitialized: false; isLoading: false; isSuccess: false; isError: true; })) => WellknownResponse | undefined) & { clearCache: () => void; resultsCount: () => number; resetResultsCount: () => void; }; lastResult: () => WellknownResponse | undefined; dependencies: [(state: import("@reduxjs/toolkit/query").RootState<{ configuration: import("@reduxjs/toolkit/query").QueryDefinition, never, WellknownResponse, "wellknown", unknown>; }, never, "wellknown">) => ({ status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized; originalArgs?: undefined | undefined; data?: undefined | undefined; error?: undefined | undefined; requestId?: undefined | undefined; endpointName?: string | undefined; startedTimeStamp?: undefined | undefined; fulfilledTimeStamp?: undefined | undefined; } & { status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized; isUninitialized: true; isLoading: false; isSuccess: false; isError: false; }) | ({ status: import("@reduxjs/toolkit/query").QueryStatus.fulfilled; error: undefined; originalArgs: string; requestId: string; endpointName: string; startedTimeStamp: number; data: WellknownResponse; fulfilledTimeStamp: number; } & { status: import("@reduxjs/toolkit/query").QueryStatus.fulfilled; isUninitialized: false; isLoading: false; isSuccess: true; isError: false; }) | ({ status: import("@reduxjs/toolkit/query").QueryStatus.pending; originalArgs: string; requestId: string; data?: WellknownResponse | undefined; error?: FetchBaseQueryError | import("@reduxjs/toolkit").SerializedError | undefined; endpointName: string; startedTimeStamp: number; fulfilledTimeStamp?: number | undefined; } & { status: import("@reduxjs/toolkit/query").QueryStatus.pending; isUninitialized: false; isLoading: true; isSuccess: false; isError: false; }) | ({ status: import("@reduxjs/toolkit/query").QueryStatus.rejected; data?: WellknownResponse | undefined; fulfilledTimeStamp?: number | undefined; originalArgs: string; requestId: string; endpointName: string; startedTimeStamp: number; error: FetchBaseQueryError | import("@reduxjs/toolkit").SerializedError; } & { status: import("@reduxjs/toolkit/query").QueryStatus.rejected; isUninitialized: false; isLoading: false; isSuccess: false; isError: true; })]; recomputations: () => number; resetRecomputations: () => void; dependencyRecomputations: () => number; resetDependencyRecomputations: () => void; } & { argsMemoize: typeof import("@reduxjs/toolkit").weakMapMemoize; memoize: typeof import("@reduxjs/toolkit").weakMapMemoize; }; /** * Convenience selector for oidc-client's RootState type. * * Unlike {@link createWellknownSelector}, this immediately evaluates the * selector against the provided state rather than returning a reusable selector. * * @param wellknownUrl - The well-known endpoint URL used as the cache key * @param state - The oidc-client Redux root state * @returns The cached WellknownResponse or undefined if not yet fetched */ export declare function wellknownSelector(wellknownUrl: string, state: RootState): WellknownResponse | undefined; //# sourceMappingURL=wellknown.api.d.ts.map