diff --git a/.changeset/some-shirts-joke.md b/.changeset/some-shirts-joke.md
new file mode 100644
index 0000000000..f9c2399f3f
--- /dev/null
+++ b/.changeset/some-shirts-joke.md
@@ -0,0 +1,9 @@
+---
+'@forgerock/sdk-request-middleware': minor
+'@forgerock/sdk-oidc': minor
+'@forgerock/davinci-client': minor
+'@forgerock/oidc-client': minor
+'am-mock-api': patch
+---
+
+Add support for PAR in oidc-client requests for redirect flows
diff --git a/e2e/am-mock-api/src/app/constants.js b/e2e/am-mock-api/src/app/constants.js
index 6e7b8240a8..cdd6edc5a5 100644
--- a/e2e/am-mock-api/src/app/constants.js
+++ b/e2e/am-mock-api/src/app/constants.js
@@ -9,6 +9,7 @@
*/
export const authPaths = {
+ par: ['/am/oauth2/realms/root/par'],
tokenExchange: [
'/am/auth/tokenExchange',
'/am/oauth2/realms/root/access_token',
diff --git a/e2e/am-mock-api/src/app/responses.js b/e2e/am-mock-api/src/app/responses.js
index d7c9e7af41..6127ea6e3d 100644
--- a/e2e/am-mock-api/src/app/responses.js
+++ b/e2e/am-mock-api/src/app/responses.js
@@ -1348,6 +1348,11 @@ export const recaptchaEnterpriseCallback = {
],
};
+export const parResponse = {
+ request_uri: 'urn:ietf:params:oauth:request_uri:mock-par-request-uri',
+ expires_in: 60,
+};
+
export const qrCodeCallbacksResponse = {
authId: 'qrcode-journey-confirmation',
callbacks: [
diff --git a/e2e/am-mock-api/src/app/routes.auth.js b/e2e/am-mock-api/src/app/routes.auth.js
index bcf0e7c2e9..52a2fd143d 100644
--- a/e2e/am-mock-api/src/app/routes.auth.js
+++ b/e2e/am-mock-api/src/app/routes.auth.js
@@ -49,6 +49,7 @@ import {
MetadataMarketPlacePingOneEvaluation,
newPiWellKnown,
qrCodeCallbacksResponse,
+ parResponse,
} from './responses.js';
import initialRegResponse from './response.registration.js';
import {
@@ -664,6 +665,16 @@ export default function (app) {
app.get('/callback', (req, res) => res.status(200).send('ok'));
+ app.post(authPaths.par, (req, res) => {
+ if (req.query.scenario === 'error') {
+ return res.status(400).json({
+ error: 'invalid_request',
+ error_description: 'Missing required PAR parameter',
+ });
+ }
+ res.status(201).json(parResponse);
+ });
+
app.get('/am/.well-known/oidc-configuration', (req, res) => {
res.send(wellKnownForgeRock);
});
diff --git a/e2e/oidc-app/src/index.html b/e2e/oidc-app/src/index.html
index 862f53f9d6..dcc720ee3b 100644
--- a/e2e/oidc-app/src/index.html
+++ b/e2e/oidc-app/src/index.html
@@ -12,6 +12,7 @@
OIDC Client E2E Test Index | Ping Identity JavaScript SDK
diff --git a/e2e/oidc-app/src/par/index.html b/e2e/oidc-app/src/par/index.html
new file mode 100644
index 0000000000..9ba638c97a
--- /dev/null
+++ b/e2e/oidc-app/src/par/index.html
@@ -0,0 +1,63 @@
+
+
+
+
+
+ E2E Test | Ping Identity JavaScript SDK
+
+
+
+
+
+
Home
+
OIDC App | PAR Login (Pushed Authorization Request)
+
+ Client: ParClient — PAR enabled. Authorize params are sent via
+ back-channel POST to /par first, then a slim URL (client_id + request_uri
+ only) is used for the authorize redirect.
+
+
+
Step 1: Establish AM Session (Journey: Login)
+
+ Background PAR auth requires an existing AM session. Log in via the Login journey first.
+
+
+
+
+
Step 2: PAR OAuth
+
Login (Background — PAR + iframe)
+
Login (Redirect — PAR slim URL)
+
Get Tokens (Local)
+
Get Tokens (Background)
+
Renew Tokens
+
Logout
+
User Info
+
Revoke Token
+
Start Over
+
+
+
+
diff --git a/e2e/oidc-app/src/par/main.ts b/e2e/oidc-app/src/par/main.ts
new file mode 100644
index 0000000000..a94da7fadd
--- /dev/null
+++ b/e2e/oidc-app/src/par/main.ts
@@ -0,0 +1,82 @@
+/*
+ *
+ * Copyright © 2025 Ping Identity Corporation. All right reserved.
+ *
+ * This software may be modified and distributed under the terms
+ * of the MIT license. See the LICENSE file for details.
+ *
+ */
+import { oidcApp } from '../utils/oidc-app.js';
+
+const AM_BASE = 'https://openam-sdks.forgeblocks.com/am';
+const REALM = 'alpha';
+
+const urlParams = new URLSearchParams(window.location.search);
+const wellknown = urlParams.get('wellknown');
+
+const config = {
+ clientId: 'ParClient',
+ redirectUri: 'http://localhost:8443/par/',
+ scope: 'openid profile email',
+ par: true,
+ serverConfig: {
+ wellknown:
+ wellknown ||
+ 'https://openam-sdks.forgeblocks.com/am/oauth2/alpha/.well-known/openid-configuration',
+ },
+};
+
+// Run journey Login to establish an AM session before background PAR auth
+async function runLoginJourney(username: string, password: string): Promise {
+ const authenticateUrl = `${AM_BASE}/json/realms/root/realms/${REALM}/authenticate?authIndexType=service&authIndexValue=Login`;
+
+ // Step 1: start the journey
+ const initRes = await fetch(authenticateUrl, {
+ method: 'POST',
+ credentials: 'include',
+ headers: { 'Content-Type': 'application/json', 'Accept-API-Version': 'resource=2.1' },
+ body: '{}',
+ });
+ const initJson = await initRes.json();
+
+ if (initJson.successUrl) return; // already authenticated
+
+ // Fill NameCallback + PasswordCallback
+ for (const cb of initJson.callbacks ?? []) {
+ if (cb.type === 'NameCallback') cb.input[0].value = username;
+ if (cb.type === 'PasswordCallback') cb.input[0].value = password;
+ }
+
+ // Step 2: submit credentials
+ const submitRes = await fetch(authenticateUrl, {
+ method: 'POST',
+ credentials: 'include',
+ headers: { 'Content-Type': 'application/json', 'Accept-API-Version': 'resource=2.1' },
+ body: JSON.stringify(initJson),
+ });
+ const submitJson = await submitRes.json();
+
+ if (!submitJson.tokenId && !submitJson.successUrl) {
+ throw new Error(submitJson.message || 'Login failed');
+ }
+}
+
+const journeyForm = document.getElementById('journey-form') as HTMLFormElement;
+const journeyStatus = document.getElementById('journey-status') as HTMLParagraphElement;
+const backgroundBtn = document.getElementById('login-background') as HTMLButtonElement;
+
+journeyForm.addEventListener('submit', async (e) => {
+ e.preventDefault();
+ const username = (document.getElementById('username') as HTMLInputElement).value;
+ const password = (document.getElementById('password') as HTMLInputElement).value;
+ journeyStatus.textContent = 'Logging in…';
+ try {
+ await runLoginJourney(username, password);
+ journeyStatus.textContent = '✓ Session established — background login now available.';
+ backgroundBtn.disabled = false;
+ } catch (err) {
+ journeyStatus.textContent = `✗ ${err instanceof Error ? err.message : 'Login failed'}`;
+ }
+});
+
+oidcApp({ config, urlParams });
diff --git a/e2e/oidc-app/src/utils/oidc-app.ts b/e2e/oidc-app/src/utils/oidc-app.ts
index 69289580a0..f8565a10c7 100644
--- a/e2e/oidc-app/src/utils/oidc-app.ts
+++ b/e2e/oidc-app/src/utils/oidc-app.ts
@@ -49,8 +49,11 @@ export async function oidcApp({ config, urlParams }) {
const code = urlParams.get('code');
const state = urlParams.get('state');
const piflow = urlParams.get('piflow');
+ const par = urlParams.get('par') === 'true';
- const oidcClient: OidcClient = await oidc({ config });
+ const oidcClient: OidcClient = await oidc({
+ config: { ...config, ...(par && { par: true }) },
+ });
if ('error' in oidcClient) {
displayError(oidcClient);
}
diff --git a/e2e/oidc-app/vite.config.ts b/e2e/oidc-app/vite.config.ts
index d2a956b1a9..c40a554f9f 100644
--- a/e2e/oidc-app/vite.config.ts
+++ b/e2e/oidc-app/vite.config.ts
@@ -4,7 +4,7 @@ import { dirname, resolve } from 'path';
import { fileURLToPath } from 'url';
const __dirname = dirname(fileURLToPath(import.meta.url));
-const pages = ['ping-am', 'ping-one'];
+const pages = ['ping-am', 'ping-one', 'par'];
export default defineConfig(() => ({
root: __dirname + '/src',
cacheDir: '../../node_modules/.vite/e2e/oidc-app',
diff --git a/e2e/oidc-suites/src/login.spec.ts b/e2e/oidc-suites/src/login.spec.ts
index 1d1523bc13..5934f94cb5 100644
--- a/e2e/oidc-suites/src/login.spec.ts
+++ b/e2e/oidc-suites/src/login.spec.ts
@@ -152,7 +152,7 @@ test('oidc client fails to initialize with bad wellknown', async ({ page }) => {
await page.getByRole('button', { name: 'Login (Background)' }).click();
await expect(page.locator('.error')).toContainText(
- 'Authorization endpoint not found in wellknown configuration',
+ 'Failed to fetch well-known configuration from:',
);
await expect(page.locator('.error')).toContainText('wellknown_error');
});
diff --git a/e2e/oidc-suites/src/par.spec.ts b/e2e/oidc-suites/src/par.spec.ts
new file mode 100644
index 0000000000..ff10c1a974
--- /dev/null
+++ b/e2e/oidc-suites/src/par.spec.ts
@@ -0,0 +1,134 @@
+/*
+ *
+ * Copyright © 2025 Ping Identity Corporation. All right reserved.
+ *
+ * This software may be modified and distributed under the terms
+ * of the MIT license. See the LICENSE file for details.
+ *
+ */
+import { test, expect } from '@playwright/test';
+import { pingAmUsername, pingAmPassword } from './utils/demo-users.js';
+import { asyncEvents } from './utils/async-events.js';
+
+async function loginJourney(page, username: string, password: string) {
+ await page.getByLabel('User Name').fill(username);
+ await page.getByLabel('Password').fill(password);
+ await page.getByRole('button', { name: 'Login (Journey)' }).click();
+ await expect(page.locator('#journey-status')).toContainText('Session established');
+}
+
+// Synthetic PAR error endpoint — intercepted by Playwright before any real network call
+const SYNTHETIC_PAR_ERROR_URL = 'http://localhost:8443/synthetic-par-error-endpoint';
+// The real wellknown used by the PAR app (intercepted to inject the synthetic PAR endpoint)
+const DEFAULT_WELLKNOWN_PATTERN =
+ '**/openam-sdks.forgeblocks.com/am/oauth2/alpha/.well-known/openid-configuration*';
+
+test.describe('PAR (Pushed Authorization Request) login tests', () => {
+ test('PAR authorize returns 400 error — SDK surfaces error to the UI without redirecting', async ({
+ page,
+ }) => {
+ const { navigate } = asyncEvents(page);
+
+ // Intercept the wellknown to inject our synthetic PAR endpoint URL
+ await page.route(DEFAULT_WELLKNOWN_PATTERN, async (route) => {
+ const response = await route.fetch();
+ const json = await response.json();
+ await route.fulfill({
+ status: 200,
+ contentType: 'application/json',
+ body: JSON.stringify({
+ ...json,
+ pushed_authorization_request_endpoint: SYNTHETIC_PAR_ERROR_URL,
+ }),
+ });
+ });
+
+ // Intercept the synthetic PAR endpoint and return a 400 error
+ await page.route(SYNTHETIC_PAR_ERROR_URL, (route) => {
+ route.fulfill({
+ status: 400,
+ contentType: 'application/json',
+ body: JSON.stringify({
+ error: 'invalid_request',
+ error_description: 'Missing required PAR parameter',
+ }),
+ });
+ });
+
+ await navigate('/par/');
+
+ // Clicking redirect login triggers PAR → receives 400 → SDK should surface an error
+ await page.getByRole('button', { name: /^Login \(Redirect\b/ }).click();
+
+ // The SDK should surface an error in the UI instead of redirecting away
+ await expect(page.locator('.error')).toBeVisible({ timeout: 10000 });
+ await expect(page.locator('.error')).toContainText('PAR_ERROR');
+ });
+
+ test('background login with PAR enabled (ParClient) obtains access token', async ({ page }) => {
+ const { navigate } = asyncEvents(page);
+
+ const parRequests: string[] = [];
+ page.on('request', (request) => {
+ if (request.method() === 'POST' && request.url().includes('/par')) {
+ parRequests.push(request.url());
+ }
+ });
+
+ await navigate('/par/');
+
+ // Establish AM session via the Login journey before attempting background PAR auth
+ await loginJourney(page, pingAmUsername, pingAmPassword);
+
+ // Background button is now enabled — click and wait for the iframe to return a code
+ await page.getByRole('button', { name: /^Login \(Background\b/ }).click();
+ await expect(page.locator('#accessToken-0')).not.toBeEmpty();
+
+ // PAR POST was made for the background request
+ expect(parRequests.length).toBeGreaterThan(0);
+ });
+
+ test('redirect login with PAR enabled (ParClient) obtains access token and uses slim authorize URL', async ({
+ page,
+ }) => {
+ const { clickWithRedirect, navigate } = asyncEvents(page);
+
+ const parRequests: string[] = [];
+ const parAuthorizeUrls: string[] = [];
+
+ page.on('request', (request) => {
+ if (request.method() === 'POST' && request.url().includes('/par')) {
+ parRequests.push(request.url());
+ }
+ // Capture the slim PAR authorize redirect — has request_uri, not scope
+ if (request.url().includes('/authorize') && request.url().includes('request_uri=')) {
+ parAuthorizeUrls.push(request.url());
+ }
+ });
+
+ await navigate('/par/');
+
+ await clickWithRedirect(/^Login \(Redirect\b/, '**/am/XUI/**');
+
+ await page.getByLabel('User Name').fill(pingAmUsername);
+ await page.getByRole('textbox', { name: 'Password' }).fill(pingAmPassword);
+ await clickWithRedirect('Next', 'http://localhost:8443/par/**');
+
+ expect(page.url()).toContain('code');
+ expect(page.url()).toContain('state');
+
+ await expect(page.locator('#accessToken-0')).not.toBeEmpty();
+
+ // PAR POST was made
+ expect(parRequests.length).toBeGreaterThan(0);
+
+ // Slim authorize URL contains only client_id + request_uri (not scope/code_challenge)
+ expect(parAuthorizeUrls.length).toBeGreaterThan(0);
+ const authorizeUrl = new URL(parAuthorizeUrls[0]);
+ expect(authorizeUrl.searchParams.has('client_id')).toBe(true);
+ expect(authorizeUrl.searchParams.has('request_uri')).toBe(true);
+ expect(authorizeUrl.searchParams.has('scope')).toBe(false);
+ expect(authorizeUrl.searchParams.has('code_challenge')).toBe(false);
+ expect(authorizeUrl.searchParams.has('redirect_uri')).toBe(false);
+ });
+});
diff --git a/packages/davinci-client/api-report/davinci-client.api.md b/packages/davinci-client/api-report/davinci-client.api.md
index ce4a9d9b7b..0f5d95a413 100644
--- a/packages/davinci-client/api-report/davinci-client.api.md
+++ b/packages/davinci-client/api-report/davinci-client.api.md
@@ -1,2043 +1,2629 @@
-## API Report File for "@forgerock/davinci-client"
-
-> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
-
-```ts
-
-import { ActionCreatorWithPayload } from '@reduxjs/toolkit';
-import { ActionTypes } from '@forgerock/sdk-request-middleware';
-import type { AsyncLegacyConfigOptions } from '@forgerock/sdk-types';
-import { BaseQueryFn } from '@reduxjs/toolkit/query';
-import { CustomLogger } from '@forgerock/sdk-logger';
-import { FetchArgs } from '@reduxjs/toolkit/query';
-import { FetchBaseQueryError } from '@reduxjs/toolkit/query';
-import { FetchBaseQueryMeta } from '@reduxjs/toolkit/query';
-import { GenericError } from '@forgerock/sdk-types';
-import { LogLevel } from '@forgerock/sdk-logger';
-import { MutationDefinition } from '@reduxjs/toolkit/query';
-import type { MutationResultSelectorResult } from '@reduxjs/toolkit/query';
-import { QueryDefinition } from '@reduxjs/toolkit/query';
-import { QueryStatus } from '@reduxjs/toolkit/query';
-import { Reducer } from '@reduxjs/toolkit';
-import { RequestMiddleware } from '@forgerock/sdk-request-middleware';
-import { RootState } from '@reduxjs/toolkit/query';
-import { SerializedError } from '@reduxjs/toolkit';
-import { Unsubscribe } from '@reduxjs/toolkit';
-
-// @public (undocumented)
-export type ActionCollector = ActionCollectorNoUrl | ActionCollectorWithUrl;
-
-// @public (undocumented)
-export interface ActionCollectorNoUrl {
- // (undocumented)
- category: 'ActionCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type ActionCollectors = ActionCollectorWithUrl<'IdpCollector'> | ActionCollectorNoUrl<'ActionCollector'> | ActionCollectorNoUrl<'FlowCollector'> | ActionCollectorNoUrl<'SubmitCollector'>;
-
-// @public
-export type ActionCollectorTypes = 'FlowCollector' | 'SubmitCollector' | 'IdpCollector' | 'ActionCollector';
-
-// @public (undocumented)
-export interface ActionCollectorWithUrl {
- // (undocumented)
- category: 'ActionCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- url?: string | null;
- };
- // (undocumented)
- type: T;
-}
-
-export { ActionTypes }
-
-// @public (undocumented)
-export interface AgreementCollector extends NoValueCollectorBase<'AgreementCollector'> {
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- titleEnabled: boolean;
- title: string;
- agreement: {
- id: string;
- useDynamicAgreement: boolean;
- };
- enabled: boolean;
- };
-}
-
-// @public (undocumented)
-export type AgreementField = {
- type: 'AGREEMENT';
- key: string;
- content: string;
- titleEnabled: boolean;
- title: string;
- agreement: {
- id: string;
- useDynamicAgreement: boolean;
- };
- enabled: boolean;
-};
-
-// @public (undocumented)
-export interface AssertionValue extends Omit {
- // (undocumented)
- rawId: string;
- // (undocumented)
- response: {
- clientDataJSON: string;
- authenticatorData: string;
- signature: string;
- userHandle: string | null;
- };
-}
-
-// @public (undocumented)
-export interface AttestationValue extends Omit {
- // (undocumented)
- rawId: string;
- // (undocumented)
- response: {
- clientDataJSON: string;
- attestationObject: string;
- };
-}
-
-// @public (undocumented)
-export interface AutoCollector> {
- // (undocumented)
- category: C;
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: IV;
- type: string;
- validation?: ValidationRequired[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- type: string;
- config: OV;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type AutoCollectorCategories = 'SingleValueAutoCollector' | 'ObjectValueAutoCollector';
-
-// @public (undocumented)
-export type AutoCollectors = ProtectCollector | FidoRegistrationCollector | FidoAuthenticationCollector | PollingCollector | SingleValueAutoCollector | ObjectValueAutoCollector;
-
-// @public (undocumented)
-export type AutoCollectorTypes = SingleValueAutoCollectorTypes | ObjectValueAutoCollectorTypes;
-
-// @public (undocumented)
-export interface CollectorErrors {
- // (undocumented)
- code: string;
- // (undocumented)
- message: string;
- // (undocumented)
- target: string;
-}
-
-// @public (undocumented)
-export type CollectorInputTypes = string | string[] | boolean | PhoneNumberInputValue | PhoneNumberExtensionInputValue | FidoRegistrationInputValue | FidoAuthenticationInputValue;
-
-// @public
-export interface CollectorRichContent {
- // (undocumented)
- content: string;
- // (undocumented)
- replacements: RichContentLink[];
-}
-
-// @public (undocumented)
-export type Collectors = FlowCollector | PasswordCollector | ValidatedPasswordCollector | TextCollector | ValidatedBooleanCollector | SingleSelectCollector | IdpCollector | SubmitCollector | ActionCollector<'ActionCollector'> | SingleValueCollector<'SingleValueCollector'> | MultiSelectCollector | DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | PhoneNumberExtensionCollector | ReadOnlyCollector | RichTextCollector | ValidatedTextCollector | ProtectCollector | PollingCollector | FidoRegistrationCollector | FidoAuthenticationCollector | QrCodeCollector | AgreementCollector | UnknownCollector;
-
-// @public
-export type CollectorValueType = T extends {
- type: 'PasswordCollector';
-} ? string : T extends {
- type: 'ValidatedPasswordCollector';
-} ? string : T extends {
- type: 'TextCollector';
- category: 'SingleValueCollector';
-} ? string : T extends {
- type: 'TextCollector';
- category: 'ValidatedSingleValueCollector';
-} ? string : T extends {
- type: 'ValidatedBooleanCollector';
-} ? boolean : T extends {
- type: 'SingleSelectCollector';
-} ? string : T extends {
- type: 'MultiSelectCollector';
-} ? string[] : T extends {
- type: 'DeviceRegistrationCollector';
-} ? string : T extends {
- type: 'DeviceAuthenticationCollector';
-} ? string : T extends {
- type: 'PhoneNumberCollector';
-} ? PhoneNumberInputValue : T extends {
- type: 'PhoneNumberExtensionCollector';
-} ? PhoneNumberExtensionInputValue : T extends {
- type: 'FidoRegistrationCollector';
-} ? FidoRegistrationInputValue : T extends {
- type: 'FidoAuthenticationCollector';
-} ? FidoAuthenticationInputValue : T extends {
- category: 'SingleValueCollector';
-} ? string : T extends {
- category: 'ValidatedSingleValueCollector';
-} ? string : T extends {
- category: 'MultiValueCollector';
-} ? string[] : CollectorInputTypes;
-
-// @public (undocumented)
-export type ComplexValueFields = DeviceAuthenticationField | DeviceRegistrationField | PhoneNumberField | PhoneNumberExtensionField | FidoRegistrationField | FidoAuthenticationField | PollingField;
-
-// @public (undocumented)
-export interface ContinueNode {
- // (undocumented)
- cache: {
- key: string;
- };
- // (undocumented)
- client: {
- action: string;
- collectors: Collectors[];
- description?: string;
- name?: string;
- status: 'continue';
- };
- // (undocumented)
- error: null;
- // (undocumented)
- httpStatus: number;
- // (undocumented)
- server: {
- _links?: Links;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- href?: string;
- eventName?: string;
- status: 'continue';
- };
- // (undocumented)
- status: 'continue';
-}
-
-export { CustomLogger }
-
-// @public
-export type CustomPollingStatus = string & {};
-
-// @public
-export function davinci(input: {
- config: DaVinciConfig;
- requestMiddleware?: RequestMiddleware[];
- logger?: {
- level: LogLevel;
- custom?: CustomLogger;
- };
-}): Promise<{
- subscribe: (listener: () => void) => Unsubscribe;
- externalIdp: () => (() => Promise);
- flow: (action: DaVinciAction) => InitFlow;
- next: (args?: DaVinciRequest) => Promise;
- resume: (input: {
- continueToken: string;
- }) => Promise;
- start: (options?: StartOptions | undefined) => Promise;
- update: (collector: T) => Updater;
- validate: (collector: SingleValueCollectors | ObjectValueCollectors | MultiValueCollectors | AutoCollectors) => Validator;
- pollStatus: (collector: PollingCollector) => Poller;
- getClient: () => {
- status: "start";
- } | {
- action: string;
- collectors: Collectors[];
- description?: string;
- name?: string;
- status: "continue";
- } | {
- action: string;
- collectors: Collectors[];
- description?: string;
- name?: string;
- status: "error";
- } | {
- authorization?: {
- code?: string;
- state?: string;
- };
- status: "success";
- } | {
- status: "failure";
- } | null;
- getCollectors: () => Collectors[];
- getError: () => DaVinciError | null;
- getErrorCollectors: () => CollectorErrors[];
- getNode: () => ContinueNode | ErrorNode | StartNode | SuccessNode | FailureNode;
- getServer: () => {
- status: "start";
- } | {
- _links?: Links;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- href?: string;
- eventName?: string;
- status: "continue";
- } | {
- _links?: Links;
- eventName?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- status: "error";
- } | {
- _links?: Links;
- eventName?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- href?: string;
- session?: string;
- status: "success";
- } | {
- _links?: Links;
- eventName?: string;
- href?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- status: "failure";
- } | null;
- cache: {
- getLatestResponse: () => ((state: RootState< {
- flow: MutationDefinition, never, unknown, "davinci", any>;
- next: MutationDefinition, never, unknown, "davinci", any>;
- start: MutationDefinition | undefined, BaseQueryFn, never, unknown, "davinci", unknown>;
- resume: QueryDefinition< {
- serverInfo: ContinueNode["server"];
- continueToken: string;
- }, BaseQueryFn, never, unknown, "davinci", unknown>;
- poll: MutationDefinition< {
- endpoint: string;
- interactionId: string;
- }, BaseQueryFn, never, unknown, "davinci", unknown>;
- }, never, "davinci">) => ({
- requestId?: undefined;
- status: QueryStatus.uninitialized;
- data?: undefined;
- error?: undefined;
- endpointName?: string;
- startedTimeStamp?: undefined;
- fulfilledTimeStamp?: undefined;
- } & {
- status: QueryStatus.uninitialized;
- isUninitialized: true;
- isLoading: false;
- isSuccess: false;
- isError: false;
- }) | ({
- status: QueryStatus.fulfilled;
- } & Omit<{
- requestId: string;
- data?: unknown;
- error?: SerializedError | FetchBaseQueryError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- }, "data" | "fulfilledTimeStamp"> & Required> & {
- error: undefined;
- } & {
- status: QueryStatus.fulfilled;
- isUninitialized: false;
- isLoading: false;
- isSuccess: true;
- isError: false;
- }) | ({
- status: QueryStatus.pending;
- } & {
- requestId: string;
- data?: unknown;
- error?: SerializedError | FetchBaseQueryError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- } & {
- data?: undefined;
- } & {
- status: QueryStatus.pending;
- isUninitialized: false;
- isLoading: true;
- isSuccess: false;
- isError: false;
- }) | ({
- status: QueryStatus.rejected;
- } & Omit<{
- requestId: string;
- data?: unknown;
- error?: SerializedError | FetchBaseQueryError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- }, "error"> & Required> & {
- status: QueryStatus.rejected;
- isUninitialized: false;
- isLoading: false;
- isSuccess: false;
- isError: true;
- })) | {
- error: {
- message: string;
- type: string;
- };
- };
- getResponseWithId: (requestId: string) => ((state: RootState< {
- flow: MutationDefinition, never, unknown, "davinci", any>;
- next: MutationDefinition, never, unknown, "davinci", any>;
- start: MutationDefinition | undefined, BaseQueryFn, never, unknown, "davinci", unknown>;
- resume: QueryDefinition< {
- serverInfo: ContinueNode["server"];
- continueToken: string;
- }, BaseQueryFn, never, unknown, "davinci", unknown>;
- poll: MutationDefinition< {
- endpoint: string;
- interactionId: string;
- }, BaseQueryFn, never, unknown, "davinci", unknown>;
- }, never, "davinci">) => ({
- requestId?: undefined;
- status: QueryStatus.uninitialized;
- data?: undefined;
- error?: undefined;
- endpointName?: string;
- startedTimeStamp?: undefined;
- fulfilledTimeStamp?: undefined;
- } & {
- status: QueryStatus.uninitialized;
- isUninitialized: true;
- isLoading: false;
- isSuccess: false;
- isError: false;
- }) | ({
- status: QueryStatus.fulfilled;
- } & Omit<{
- requestId: string;
- data?: unknown;
- error?: SerializedError | FetchBaseQueryError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- }, "data" | "fulfilledTimeStamp"> & Required> & {
- error: undefined;
- } & {
- status: QueryStatus.fulfilled;
- isUninitialized: false;
- isLoading: false;
- isSuccess: true;
- isError: false;
- }) | ({
- status: QueryStatus.pending;
- } & {
- requestId: string;
- data?: unknown;
- error?: SerializedError | FetchBaseQueryError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- } & {
- data?: undefined;
- } & {
- status: QueryStatus.pending;
- isUninitialized: false;
- isLoading: true;
- isSuccess: false;
- isError: false;
- }) | ({
- status: QueryStatus.rejected;
- } & Omit<{
- requestId: string;
- data?: unknown;
- error?: SerializedError | FetchBaseQueryError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- }, "error"> & Required> & {
- status: QueryStatus.rejected;
- isUninitialized: false;
- isLoading: false;
- isSuccess: false;
- isError: true;
- })) | {
- error: {
- message: string;
- type: string;
- };
- };
- };
-}>;
-
-// @public
-export interface DaVinciAction {
- // (undocumented)
- action: string;
-}
-
-// @public
-export interface DaVinciBaseResponse {
- // (undocumented)
- capabilityName?: string;
- // (undocumented)
- companyId?: string;
- // (undocumented)
- connectionId?: string;
- // (undocumented)
- connectorId?: string;
- // (undocumented)
- id?: string;
- // (undocumented)
- interactionId?: string;
- // (undocumented)
- interactionToken?: string;
- // (undocumented)
- isResponseCompatibleWithMobileAndWebSdks?: boolean;
- // (undocumented)
- status?: string;
-}
-
-// @public
-export type DaVinciCacheEntry = {
- data?: DaVinciBaseResponse;
- error?: {
- data: DaVinciBaseResponse;
- status: number;
- };
-} & {
- data?: any;
- error?: any;
-} & MutationResultSelectorResult;
-
-// @public (undocumented)
-export type DavinciClient = Awaited>;
-
-// @public (undocumented)
-export interface DaVinciConfig extends AsyncLegacyConfigOptions {
- // (undocumented)
- responseType?: string;
-}
-
-// @public (undocumented)
-export interface DaVinciError extends Omit {
- // (undocumented)
- collectors?: CollectorErrors[];
- // (undocumented)
- internalHttpStatus?: number;
- // (undocumented)
- message: string;
- // (undocumented)
- status: 'error' | 'failure' | 'unknown';
-}
-
-// @public (undocumented)
-export interface DaVinciErrorCacheEntry {
- // (undocumented)
- endpointName: 'next' | 'flow' | 'start';
- // (undocumented)
- error: {
- data: T;
- };
- // (undocumented)
- fulfilledTimeStamp: number;
- // (undocumented)
- isError: boolean;
- // (undocumented)
- isLoading: boolean;
- // (undocumented)
- isSuccess: boolean;
- // (undocumented)
- isUninitialized: boolean;
- // (undocumented)
- requestId: string;
- // (undocumented)
- startedTimeStamp: number;
- // (undocumented)
- status: 'fulfilled' | 'pending' | 'rejected';
-}
-
-// @public (undocumented)
-export interface DavinciErrorResponse extends DaVinciBaseResponse {
- // (undocumented)
- cause?: string | null;
- // (undocumented)
- code: string | number;
- // (undocumented)
- details?: ErrorDetail[];
- // (undocumented)
- doNotSendToOE?: boolean;
- // (undocumented)
- error?: {
- code?: string;
- message?: string;
- };
- // (undocumented)
- errorCategory?: string;
- // (undocumented)
- errorMessage?: string;
- // (undocumented)
- expected?: boolean;
- // (undocumented)
- httpResponseCode: number;
- // (undocumented)
- isErrorCustomized?: boolean;
- // (undocumented)
- message: string;
- // (undocumented)
- metricAttributes?: {
- [key: string]: unknown;
- };
-}
-
-// @public (undocumented)
-export interface DaVinciFailureResponse extends DaVinciBaseResponse {
- // (undocumented)
- error?: {
- code?: string;
- message?: string;
- [key: string]: unknown;
- };
-}
-
-// @public (undocumented)
-export type DaVinciField = ComplexValueFields | MultiValueFields | ReadOnlyFields | RedirectFields | SingleValueFields;
-
-// @public
-export interface DaVinciNextResponse extends DaVinciBaseResponse {
- // (undocumented)
- eventName?: string;
- // (undocumented)
- form?: {
- name?: string;
- description?: string;
- components?: {
- fields?: DaVinciField[];
- };
- };
- // (undocumented)
- formData?: {
- value?: {
- [key: string]: string;
- };
- };
- // (undocumented)
- _links?: Links;
-}
-
-// @public
-export interface DaVinciPollResponse extends DaVinciBaseResponse {
- // (undocumented)
- eventName?: string;
- // (undocumented)
- _links?: Links;
- // (undocumented)
- success?: boolean;
-}
-
-// @public (undocumented)
-export interface DaVinciRequest {
- // (undocumented)
- eventName: string;
- // (undocumented)
- id: string;
- // (undocumented)
- interactionId: string;
- // (undocumented)
- parameters: {
- eventType: 'submit' | 'action' | 'polling';
- data: {
- actionKey: string;
- formData?: Record;
- };
- };
-}
-
-// @public (undocumented)
-export interface DaVinciSuccessResponse extends DaVinciBaseResponse {
- // (undocumented)
- authorizeResponse?: OAuthDetails;
- // (undocumented)
- environment: {
- id: string;
- [key: string]: unknown;
- };
- // (undocumented)
- _links?: Links;
- // (undocumented)
- resetCookie?: boolean;
- // (undocumented)
- session?: {
- id?: string;
- [key: string]: unknown;
- };
- // (undocumented)
- sessionToken?: string;
- // (undocumented)
- sessionTokenMaxAge?: number;
- // (undocumented)
- status: string;
- // (undocumented)
- subFlowSettings?: {
- cssLinks?: unknown[];
- cssUrl?: unknown;
- jsLinks?: unknown[];
- loadingScreenSettings?: unknown;
- reactSkUrl?: unknown;
- };
- // (undocumented)
- success: true;
-}
-
-// @public (undocumented)
-export type DeviceAuthenticationCollector = ObjectOptionsCollectorWithObjectValue<'DeviceAuthenticationCollector', DeviceValue>;
-
-// @public (undocumented)
-export type DeviceAuthenticationField = {
- type: 'DEVICE_AUTHENTICATION';
- key: string;
- label: string;
- options: {
- type: string;
- iconSrc: string;
- title: string;
- id: string;
- default: boolean;
- description: string;
- }[];
- required: boolean;
-};
-
-// @public (undocumented)
-export interface DeviceOptionNoDefault {
- // (undocumented)
- content: string;
- // (undocumented)
- key: string;
- // (undocumented)
- label: string;
- // (undocumented)
- type: string;
- // (undocumented)
- value: string;
-}
-
-// @public (undocumented)
-export interface DeviceOptionWithDefault {
- // (undocumented)
- content: string;
- // (undocumented)
- default: boolean;
- // (undocumented)
- key: string;
- // (undocumented)
- label: string;
- // (undocumented)
- type: string;
- // (undocumented)
- value: string;
-}
-
-// @public (undocumented)
-export type DeviceRegistrationCollector = ObjectOptionsCollectorWithStringValue<'DeviceRegistrationCollector', string>;
-
-// @public (undocumented)
-export type DeviceRegistrationField = {
- type: 'DEVICE_REGISTRATION';
- key: string;
- label: string;
- options: {
- type: string;
- iconSrc: string;
- title: string;
- description: string;
- }[];
- required: boolean;
-};
-
-// @public (undocumented)
-export interface DeviceValue {
- // (undocumented)
- id: string;
- // (undocumented)
- type: string;
- // (undocumented)
- value: string;
-}
-
-// @public (undocumented)
-export interface ErrorDetail {
- // (undocumented)
- message?: string;
- // (undocumented)
- rawResponse?: {
- _embedded?: {
- users?: Array;
- };
- code?: string;
- count?: number;
- details?: NestedErrorDetails[];
- id?: string;
- message?: string;
- size?: number;
- userFilter?: string;
- [key: string]: unknown;
- };
- // (undocumented)
- statusCode?: number;
-}
-
-// @public (undocumented)
-export interface ErrorNode {
- // (undocumented)
- cache: {
- key: string;
- };
- // (undocumented)
- client: {
- action: string;
- collectors: Collectors[];
- description?: string;
- name?: string;
- status: 'error';
- };
- // (undocumented)
- error: DaVinciError;
- // (undocumented)
- httpStatus: number;
- // (undocumented)
- server: {
- _links?: Links;
- eventName?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- status: 'error';
- } | null;
- // (undocumented)
- status: 'error';
-}
-
-// @public (undocumented)
-export interface FailureNode {
- // (undocumented)
- cache: {
- key: string;
- };
- // (undocumented)
- client: {
- status: 'failure';
- };
- // (undocumented)
- error: DaVinciError;
- // (undocumented)
- httpStatus: number;
- // (undocumented)
- server: {
- _links?: Links;
- eventName?: string;
- href?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- status: 'failure';
- } | null;
- // (undocumented)
- status: 'failure';
-}
-
-// @public
-export function fido(): FidoClient;
-
-// @public (undocumented)
-export type FidoAuthenticationCollector = AutoCollector<'ObjectValueAutoCollector', 'FidoAuthenticationCollector', FidoAuthenticationInputValue, FidoAuthenticationOutputValue>;
-
-// @public (undocumented)
-export type FidoAuthenticationField = {
- type: 'FIDO2';
- key: string;
- label: string;
- publicKeyCredentialRequestOptions: FidoAuthenticationOptions;
- action: 'AUTHENTICATE';
- trigger: string;
- required: boolean;
-};
-
-// @public (undocumented)
-export interface FidoAuthenticationInputValue {
- // (undocumented)
- assertionValue?: AssertionValue;
-}
-
-// @public (undocumented)
-export interface FidoAuthenticationOptions extends Omit {
- // (undocumented)
- allowCredentials?: {
- id: number[];
- transports?: AuthenticatorTransport[];
- type: PublicKeyCredentialType;
- }[];
- // (undocumented)
- challenge: number[];
-}
-
-// @public (undocumented)
-export interface FidoAuthenticationOutputValue {
- // (undocumented)
- action: 'AUTHENTICATE';
- // (undocumented)
- publicKeyCredentialRequestOptions: FidoAuthenticationOptions;
- // (undocumented)
- trigger: string;
-}
-
-// @public (undocumented)
-export interface FidoClient {
- authenticate: (options: FidoAuthenticationOptions) => Promise;
- register: (options: FidoRegistrationOptions) => Promise;
-}
-
-// @public (undocumented)
-export type FidoRegistrationCollector = AutoCollector<'ObjectValueAutoCollector', 'FidoRegistrationCollector', FidoRegistrationInputValue, FidoRegistrationOutputValue>;
-
-// @public (undocumented)
-export type FidoRegistrationField = {
- type: 'FIDO2';
- key: string;
- label: string;
- publicKeyCredentialCreationOptions: FidoRegistrationOptions;
- action: 'REGISTER';
- trigger: string;
- required: boolean;
-};
-
-// @public (undocumented)
-export interface FidoRegistrationInputValue {
- // (undocumented)
- attestationValue?: AttestationValue;
-}
-
-// @public (undocumented)
-export interface FidoRegistrationOptions extends Omit {
- // (undocumented)
- challenge: number[];
- // (undocumented)
- excludeCredentials?: {
- id: number[];
- transports?: AuthenticatorTransport[];
- type: PublicKeyCredentialType;
- }[];
- // (undocumented)
- pubKeyCredParams: {
- alg: string | number;
- type: PublicKeyCredentialType;
- }[];
- // (undocumented)
- user: {
- id: number[];
- name: string;
- displayName: string;
- };
-}
-
-// @public (undocumented)
-export interface FidoRegistrationOutputValue {
- // (undocumented)
- action: 'REGISTER';
- // (undocumented)
- publicKeyCredentialCreationOptions: FidoRegistrationOptions;
- // (undocumented)
- trigger: string;
-}
-
-// @public (undocumented)
-export type FlowCollector = ActionCollectorNoUrl<'FlowCollector'>;
-
-// @public (undocumented)
-export type FlowNode = ContinueNode | ErrorNode | StartNode | SuccessNode | FailureNode;
-
-// @public
-export type GetClient = StartNode['client'] | ContinueNode['client'] | ErrorNode['client'] | SuccessNode['client'] | FailureNode['client'];
-
-// @public (undocumented)
-export type IdpCollector = ActionCollectorWithUrl<'IdpCollector'>;
-
-// @public (undocumented)
-export type InferActionCollectorType = T extends 'IdpCollector' ? IdpCollector : T extends 'SubmitCollector' ? SubmitCollector : T extends 'FlowCollector' ? FlowCollector : ActionCollectorWithUrl<'ActionCollector'> | ActionCollectorNoUrl<'ActionCollector'>;
-
-// @public
-export type InferAutoCollectorType = T extends 'ProtectCollector' ? ProtectCollector : T extends 'PollingCollector' ? PollingCollector : T extends 'FidoRegistrationCollector' ? FidoRegistrationCollector : T extends 'FidoAuthenticationCollector' ? FidoAuthenticationCollector : T extends 'ObjectValueAutoCollector' ? ObjectValueAutoCollector : SingleValueAutoCollector;
-
-// @public
-export type InferMultiValueCollectorType = T extends 'MultiSelectCollector' ? MultiValueCollectorWithValue<'MultiSelectCollector'> : MultiValueCollectorWithValue<'MultiValueCollector'> | MultiValueCollectorNoValue<'MultiValueCollector'>;
-
-// @public
-export type InferNoValueCollectorType = T extends 'ReadOnlyCollector' ? ReadOnlyCollector : T extends 'RichTextCollector' ? RichTextCollector : T extends 'QrCodeCollector' ? QrCodeCollector : T extends 'AgreementCollector' ? AgreementCollector : NoValueCollectorBase<'NoValueCollector'>;
-
-// @public
-export type InferSingleValueCollectorType = T extends 'TextCollector' ? TextCollector : T extends 'SingleSelectCollector' ? SingleSelectCollector : T extends 'ValidatedTextCollector' ? ValidatedTextCollector : T extends 'PasswordCollector' ? PasswordCollector : T extends 'ValidatedPasswordCollector' ? ValidatedPasswordCollector : T extends 'ValidatedBooleanCollector' ? ValidatedBooleanCollector : SingleValueCollectorWithValue<'SingleValueCollector'> | SingleValueCollectorNoValue<'SingleValueCollector'>;
-
-// @public (undocumented)
-export type InferValueObjectCollectorType = T extends 'DeviceAuthenticationCollector' ? DeviceAuthenticationCollector : T extends 'DeviceRegistrationCollector' ? DeviceRegistrationCollector : T extends 'PhoneNumberCollector' ? PhoneNumberCollector : T extends 'PhoneNumberExtensionCollector' ? PhoneNumberExtensionCollector : ObjectOptionsCollectorWithObjectValue<'ObjectValueCollector'> | ObjectOptionsCollectorWithStringValue<'ObjectValueCollector'>;
-
-// @public (undocumented)
-export type InitFlow = () => Promise;
-
-// @public (undocumented)
-export interface InternalErrorResponse {
- // (undocumented)
- error: Omit & {
- message: string;
- };
- // (undocumented)
- type: 'internal_error';
-}
-
-// @public (undocumented)
-export interface Links {
- // (undocumented)
- [key: string]: {
- href?: string;
- };
-}
-
-export { LogLevel }
-
-// @public (undocumented)
-export type MultiSelectCollector = MultiValueCollectorWithValue<'MultiSelectCollector'>;
-
-// @public (undocumented)
-export type MultiSelectField = {
- inputType: 'MULTI_SELECT';
- key: string;
- label: string;
- options: {
- label: string;
- value: string;
- }[];
- required?: boolean;
- type: 'CHECKBOX' | 'COMBOBOX';
-};
-
-// @public (undocumented)
-export type MultiValueCollector = MultiValueCollectorWithValue | MultiValueCollectorNoValue;
-
-// @public (undocumented)
-export interface MultiValueCollectorNoValue {
- // (undocumented)
- category: 'MultiValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string[];
- type: string;
- validation: ValidationRequired[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- options: SelectorOption[];
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type MultiValueCollectors = MultiValueCollectorWithValue<'MultiValueCollector'> | MultiValueCollectorWithValue<'MultiSelectCollector'>;
-
-// @public
-export type MultiValueCollectorTypes = 'MultiSelectCollector' | 'MultiValueCollector';
-
-// @public (undocumented)
-export interface MultiValueCollectorWithValue {
- // (undocumented)
- category: 'MultiValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string[];
- type: string;
- validation: ValidationRequired[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value: string[];
- options: SelectorOption[];
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type MultiValueFields = MultiSelectField;
-
-// @public
-export interface NestedErrorDetails {
- // (undocumented)
- code?: string;
- // (undocumented)
- innerError?: {
- history?: string;
- unsatisfiedRequirements?: string[];
- failuresRemaining?: number;
- };
- // (undocumented)
- message?: string;
- // (undocumented)
- target?: string;
-}
-
-// @public
-export const nextCollectorValues: ActionCreatorWithPayload< {
-fields: DaVinciField[];
-formData: {
-value: Record;
-};
-}, string>;
-
-// @public
-export const nodeCollectorReducer: Reducer<(ValidatedTextCollector | ValidatedBooleanCollector | ValidatedPasswordCollector | DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | PhoneNumberExtensionCollector | ProtectCollector | FidoRegistrationCollector | FidoAuthenticationCollector | PollingCollector | TextCollector | PasswordCollector | SingleSelectCollector | UnknownCollector | IdpCollector | FlowCollector | SubmitCollector | ReadOnlyCollector | RichTextCollector | QrCodeCollector | AgreementCollector | ActionCollector<"ActionCollector"> | SingleValueCollector<"SingleValueCollector"> | MultiSelectCollector)[]> & {
- getInitialState: () => (ValidatedTextCollector | ValidatedBooleanCollector | ValidatedPasswordCollector | DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | PhoneNumberExtensionCollector | ProtectCollector | FidoRegistrationCollector | FidoAuthenticationCollector | PollingCollector | TextCollector | PasswordCollector | SingleSelectCollector | UnknownCollector | IdpCollector | FlowCollector | SubmitCollector | ReadOnlyCollector | RichTextCollector | QrCodeCollector | AgreementCollector | ActionCollector<"ActionCollector"> | SingleValueCollector<"SingleValueCollector"> | MultiSelectCollector)[];
-};
-
-// @public (undocumented)
-export type NodeStates = StartNode | ContinueNode | ErrorNode | SuccessNode | FailureNode;
-
-// @public (undocumented)
-export type NoValueCollector = InferNoValueCollectorType;
-
-// @public (undocumented)
-export interface NoValueCollectorBase {
- // (undocumented)
- category: 'NoValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type NoValueCollectors = NoValueCollectorBase<'NoValueCollector'> | ReadOnlyCollector | RichTextCollector | QrCodeCollector | AgreementCollector;
-
-// @public
-export type NoValueCollectorTypes = 'ReadOnlyCollector' | 'RichTextCollector' | 'NoValueCollector' | 'QrCodeCollector' | 'AgreementCollector';
-
-// @public
-export interface OAuthDetails {
- // (undocumented)
- [key: string]: unknown;
- // (undocumented)
- code?: string;
- // (undocumented)
- state?: string;
-}
-
-// @public (undocumented)
-export interface ObjectOptionsCollectorWithObjectValue, D = Record> {
- // (undocumented)
- category: 'ObjectValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: V;
- type: string;
- validation: ValidationRequired[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- options: DeviceOptionWithDefault[];
- value?: D | null;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export interface ObjectOptionsCollectorWithStringValue {
- // (undocumented)
- category: 'ObjectValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: V;
- type: string;
- validation: ValidationRequired[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- options: DeviceOptionNoDefault[];
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type ObjectValueAutoCollector = AutoCollector<'ObjectValueAutoCollector', 'ObjectValueAutoCollector', Record>;
-
-// @public (undocumented)
-export type ObjectValueAutoCollectorTypes = 'ObjectValueAutoCollector' | 'FidoRegistrationCollector' | 'FidoAuthenticationCollector';
-
-// @public (undocumented)
-export type ObjectValueCollector = ObjectOptionsCollectorWithObjectValue | ObjectOptionsCollectorWithStringValue | ObjectValueCollectorWithObjectValue;
-
-// @public (undocumented)
-export type ObjectValueCollectors = DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | PhoneNumberExtensionCollector | ObjectOptionsCollectorWithObjectValue<'ObjectSelectCollector'> | ObjectOptionsCollectorWithStringValue<'ObjectSelectCollector'>;
-
-// @public
-export type ObjectValueCollectorTypes = 'DeviceAuthenticationCollector' | 'DeviceRegistrationCollector' | 'PhoneNumberCollector' | 'PhoneNumberExtensionCollector' | 'ObjectOptionsCollector' | 'ObjectValueCollector' | 'ObjectSelectCollector';
-
-// @public (undocumented)
-export interface ObjectValueCollectorWithObjectValue, OV = Record> {
- // (undocumented)
- category: 'ObjectValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: IV;
- type: string;
- validation: (ValidationRequired | ValidationPhoneNumber)[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value?: OV | null;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export interface OutgoingQueryParams {
- // (undocumented)
- [key: string]: string | string[];
-}
-
-// @public (undocumented)
-export interface PasswordCollector {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- verify: boolean;
- };
- // (undocumented)
- type: 'PasswordCollector';
-}
-
-// @public
-export type PasswordField = {
- type: 'PASSWORD' | 'PASSWORD_VERIFY';
- key: string;
- label: string;
- required?: boolean;
- verify?: boolean;
- passwordPolicy?: PasswordPolicy;
-};
-
-// @public
-export interface PasswordPolicy {
- // (undocumented)
- createdAt?: string;
- // (undocumented)
- default?: boolean;
- // (undocumented)
- description?: string;
- // (undocumented)
- excludesCommonlyUsed?: boolean;
- // (undocumented)
- excludesProfileData?: boolean;
- // (undocumented)
- history?: {
- count?: number;
- retentionDays?: number;
- };
- // (undocumented)
- id?: string;
- // (undocumented)
- length?: {
- min?: number;
- max?: number;
- };
- // (undocumented)
- lockout?: {
- failureCount?: number;
- durationSeconds?: number;
- };
- // (undocumented)
- maxAgeDays?: number;
- // (undocumented)
- maxRepeatedCharacters?: number;
- // (undocumented)
- minAgeDays?: number;
- // (undocumented)
- minCharacters?: Record;
- // (undocumented)
- minUniqueCharacters?: number;
- // (undocumented)
- name?: string;
- // (undocumented)
- notSimilarToCurrent?: boolean;
- // (undocumented)
- populationCount?: number;
- // (undocumented)
- updatedAt?: string;
-}
-
-// @public (undocumented)
-export type PhoneNumberCollector = ObjectValueCollectorWithObjectValue<'PhoneNumberCollector', PhoneNumberInputValue, PhoneNumberOutputValue>;
-
-// @public (undocumented)
-export interface PhoneNumberExtensionCollector {
- // (undocumented)
- category: 'ObjectValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: PhoneNumberExtensionInputValue;
- type: string;
- validation: (ValidationRequired | ValidationPhoneNumber)[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- extensionLabel: string;
- value: PhoneNumberExtensionOutputValue;
- };
- // (undocumented)
- type: 'PhoneNumberExtensionCollector';
-}
-
-// @public (undocumented)
-export type PhoneNumberExtensionField = PhoneNumberField & {
- showExtension: boolean;
- extensionLabel: string;
-};
-
-// @public (undocumented)
-export interface PhoneNumberExtensionInputValue {
- // (undocumented)
- countryCode: string;
- // (undocumented)
- extension: string;
- // (undocumented)
- phoneNumber: string;
-}
-
-// @public (undocumented)
-export interface PhoneNumberExtensionOutputValue {
- // (undocumented)
- countryCode?: string;
- // (undocumented)
- extension?: string;
- // (undocumented)
- phoneNumber?: string;
-}
-
-// @public (undocumented)
-export type PhoneNumberField = {
- type: 'PHONE_NUMBER';
- key: string;
- label: string;
- required: boolean;
- defaultCountryCode: string | null;
- validatePhoneNumber: boolean;
-};
-
-// @public (undocumented)
-export interface PhoneNumberInputValue {
- // (undocumented)
- countryCode: string;
- // (undocumented)
- phoneNumber: string;
-}
-
-// @public (undocumented)
-export interface PhoneNumberOutputValue {
- // (undocumented)
- countryCode?: string;
- // (undocumented)
- phoneNumber?: string;
-}
-
-// @public
-export type Poller = () => Promise;
-
-// @public (undocumented)
-export type PollingCollector = AutoCollector<'SingleValueAutoCollector', 'PollingCollector', string, PollingOutputValue>;
-
-// @public (undocumented)
-export type PollingField = {
- type: 'POLLING';
- key: string;
- pollInterval: number;
- pollRetries: number;
- pollChallengeStatus?: boolean;
- challenge?: string;
-};
-
-// @public (undocumented)
-export interface PollingOutputValue {
- // (undocumented)
- challenge?: string;
- // (undocumented)
- pollChallengeStatus?: boolean;
- // (undocumented)
- pollInterval: number;
- // (undocumented)
- pollRetries: number;
- // (undocumented)
- retriesRemaining?: number;
-}
-
-// @public (undocumented)
-export type PollingStatus = PollingStatusContinue | PollingStatusChallenge;
-
-// @public (undocumented)
-export type PollingStatusChallenge = PollingStatusChallengeComplete | 'expired' | 'timedOut' | 'error';
-
-// @public (undocumented)
-export type PollingStatusChallengeComplete = 'approved' | 'denied' | 'continue' | CustomPollingStatus;
-
-// @public (undocumented)
-export type PollingStatusContinue = 'continue' | 'timedOut';
-
-// @public (undocumented)
-export type ProtectCollector = AutoCollector<'SingleValueAutoCollector', 'ProtectCollector', string, ProtectOutputValue>;
-
-// @public (undocumented)
-export type ProtectField = {
- type: 'PROTECT';
- key: string;
- behavioralDataCollection: boolean;
- universalDeviceIdentification: boolean;
-};
-
-// @public
-export interface ProtectOutputValue {
- // (undocumented)
- behavioralDataCollection: boolean;
- // (undocumented)
- universalDeviceIdentification: boolean;
-}
-
-// @public
-export interface QrCodeCollector extends NoValueCollectorBase<'QrCodeCollector'> {
- // (undocumented)
- output: NoValueCollectorBase<'QrCodeCollector'>['output'] & {
- src: string;
- };
-}
-
-// @public (undocumented)
-export type QrCodeField = {
- type: 'QR_CODE';
- key: string;
- content: string;
- fallbackText?: string;
-};
-
-// @public
-export interface ReadOnlyCollector extends NoValueCollectorBase<'ReadOnlyCollector'> {
- // (undocumented)
- output: NoValueCollectorBase<'ReadOnlyCollector'>['output'] & {
- content: string;
- };
-}
-
-// @public (undocumented)
-export type ReadOnlyField = {
- type: 'LABEL';
- content: string;
- richContent?: RichContent;
- key?: string;
-};
-
-// @public (undocumented)
-export type ReadOnlyFields = ReadOnlyField | QrCodeField | AgreementField;
-
-// @public (undocumented)
-export type RedirectField = {
- type: 'SOCIAL_LOGIN_BUTTON';
- key: string;
- label: string;
- links: Links;
-};
-
-// @public (undocumented)
-export type RedirectFields = RedirectField;
-
-export { RequestMiddleware }
-
-// @public
-export type RichContent = {
- content: string;
- replacements?: Record;
-};
-
-// @public
-export interface RichContentLink {
- // (undocumented)
- href: string;
- // (undocumented)
- key: string;
- // (undocumented)
- target?: '_self' | '_blank';
- // (undocumented)
- type: 'link';
- // (undocumented)
- value: string;
-}
-
-// @public
-export type RichContentReplacement = {
- type: 'link';
- value: string;
- href: string;
- target?: '_self' | '_blank';
-};
-
-// @public
-export interface RichTextCollector extends NoValueCollectorBase<'RichTextCollector'> {
- // (undocumented)
- output: NoValueCollectorBase<'RichTextCollector'>['output'] & {
- content: string;
- richContent: CollectorRichContent;
- };
-}
-
-// @public (undocumented)
-export interface SelectorOption {
- // (undocumented)
- label: string;
- // (undocumented)
- value: string;
-}
-
-// @public (undocumented)
-export type SingleCheckboxField = {
- type: 'SINGLE_CHECKBOX';
- inputType: 'BOOLEAN';
- key: string;
- label: string;
- required: boolean;
- validation?: {
- errorMessage: string;
- };
-};
-
-// @public (undocumented)
-export type SingleSelectCollector = SingleSelectCollectorWithValue<'SingleSelectCollector'>;
-
-// @public (undocumented)
-export interface SingleSelectCollectorNoValue {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- options: SelectorOption[];
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export interface SingleSelectCollectorWithValue {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value: string | number | boolean;
- options: SelectorOption[];
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type SingleSelectField = {
- inputType: 'SINGLE_SELECT';
- key: string;
- label: string;
- options: {
- label: string;
- value: string;
- }[];
- required?: boolean;
- type: 'RADIO' | 'DROPDOWN';
-};
-
-// @public (undocumented)
-export type SingleValueAutoCollector = AutoCollector<'SingleValueAutoCollector', 'SingleValueAutoCollector', string>;
-
-// @public (undocumented)
-export type SingleValueAutoCollectorTypes = 'SingleValueAutoCollector' | 'ProtectCollector' | 'PollingCollector';
-
-// @public
-export type SingleValueCollector = SingleValueCollectorWithValue | SingleValueCollectorNoValue;
-
-// @public (undocumented)
-export interface SingleValueCollectorNoValue {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type SingleValueCollectors = ValidatedPasswordCollector | PasswordCollector | SingleSelectCollector | TextCollector | ValidatedTextCollector | ValidatedBooleanCollector | SingleValueCollectorWithValue<'SingleValueCollector'>;
-
-// @public
-export type SingleValueCollectorTypes = 'PasswordCollector' | 'ValidatedPasswordCollector' | 'ValidatedBooleanCollector' | 'SingleValueCollector' | 'SingleSelectCollector' | 'SingleSelectObjectCollector' | 'TextCollector' | 'ValidatedTextCollector';
-
-// @public (undocumented)
-export interface SingleValueCollectorWithValue {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: V;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value: V;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type SingleValueFields = StandardField | PasswordField | ValidatedField | SingleCheckboxField | SingleSelectField | ProtectField;
-
-// @public (undocumented)
-export type StandardField = {
- type: 'TEXT' | 'SUBMIT_BUTTON' | 'FLOW_BUTTON' | 'FLOW_LINK' | 'BUTTON';
- key: string;
- label: string;
- required?: boolean;
-};
-
-// @public (undocumented)
-export interface StartNode {
- // (undocumented)
- cache: null;
- // (undocumented)
- client: {
- status: 'start';
- };
- // (undocumented)
- error: DaVinciError | null;
- // (undocumented)
- server: {
- status: 'start';
- };
- // (undocumented)
- status: 'start';
-}
-
-// @public (undocumented)
-export interface StartOptions {
- // (undocumented)
- query: Query;
-}
-
-// @public (undocumented)
-export type SubmitCollector = ActionCollectorNoUrl<'SubmitCollector'>;
-
-// @public (undocumented)
-export interface SuccessNode {
- // (undocumented)
- cache: {
- key: string;
- };
- // (undocumented)
- client: {
- authorization?: {
- code?: string;
- state?: string;
- };
- status: 'success';
- } | null;
- // (undocumented)
- error: null;
- // (undocumented)
- httpStatus: number;
- // (undocumented)
- server: {
- _links?: Links;
- eventName?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- href?: string;
- session?: string;
- status: 'success';
- };
- // (undocumented)
- status: 'success';
-}
-
-// @public (undocumented)
-export type TextCollector = SingleValueCollectorWithValue<'TextCollector'>;
-
-// @public (undocumented)
-export interface ThrownQueryError {
- // (undocumented)
- error: FetchBaseQueryError;
- // (undocumented)
- isHandledError: boolean;
- // (undocumented)
- meta: FetchBaseQueryMeta;
-}
-
-// @public
-export type UnknownCollector = {
- category: 'UnknownCollector';
- error: string | null;
- type: 'UnknownCollector';
- id: string;
- name: string;
- output: {
- key: string;
- label: string;
- type: string;
- };
-};
-
-// @public (undocumented)
-export type UnknownField = Record;
-
-// @public (undocumented)
-export const updateCollectorValues: ActionCreatorWithPayload< {
-id: string;
-value: string | string[] | boolean | PhoneNumberInputValue | PhoneNumberExtensionInputValue | FidoRegistrationInputValue | FidoAuthenticationInputValue;
-index?: number;
-}, string>;
-
-// @public
-export type Updater = (value: CollectorValueType, index?: number) => InternalErrorResponse | null;
-
-// @public (undocumented)
-export type ValidatedBooleanCollector = ValidatedSingleValueCollectorWithValue<'ValidatedBooleanCollector', boolean>;
-
-// @public (undocumented)
-export type ValidatedField = {
- type: 'TEXT';
- key: string;
- label: string;
- required: boolean;
- validation: {
- regex: string;
- errorMessage: string;
- };
-};
-
-// @public (undocumented)
-export interface ValidatedPasswordCollector {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- validation: PasswordPolicy;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- verify: boolean;
- };
- // (undocumented)
- type: 'ValidatedPasswordCollector';
-}
-
-// @public (undocumented)
-export interface ValidatedSingleValueCollectorWithValue {
- // (undocumented)
- category: 'ValidatedSingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- type: string;
- validation: (ValidationRequired | ValidationRegex)[];
- value: V;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value: V;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type ValidatedTextCollector = ValidatedSingleValueCollectorWithValue<'TextCollector'>;
-
-// @public (undocumented)
-export interface ValidationPhoneNumber {
- // (undocumented)
- message: string;
- // (undocumented)
- rule: boolean;
- // (undocumented)
- type: 'validatePhoneNumber';
-}
-
-// @public (undocumented)
-export interface ValidationRegex {
- // (undocumented)
- message: string;
- // (undocumented)
- rule: string;
- // (undocumented)
- type: 'regex';
-}
-
-// @public (undocumented)
-export interface ValidationRequired {
- // (undocumented)
- message: string;
- // (undocumented)
- rule: boolean;
- // (undocumented)
- type: 'required';
-}
-
-// @public
-export type Validator = (value: CollectorValueType) => string[] | {
- error: {
- message: string;
- type: string;
- };
- type: string;
-};
-
-// (No @packageDocumentation comment for this package)
-
-```
+## API Report File for "@forgerock/davinci-client"
+
+> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
+
+```ts
+import { ActionCreatorWithPayload } from '@reduxjs/toolkit';
+import { ActionTypes } from '@forgerock/sdk-request-middleware';
+import type { AsyncLegacyConfigOptions } from '@forgerock/sdk-types';
+import { BaseQueryFn } from '@reduxjs/toolkit/query';
+import { CustomLogger } from '@forgerock/sdk-logger';
+import { FetchArgs } from '@reduxjs/toolkit/query';
+import { FetchBaseQueryError } from '@reduxjs/toolkit/query';
+import { FetchBaseQueryMeta } from '@reduxjs/toolkit/query';
+import { GenericError } from '@forgerock/sdk-types';
+import { LogLevel } from '@forgerock/sdk-logger';
+import { MutationDefinition } from '@reduxjs/toolkit/query';
+import type { MutationResultSelectorResult } from '@reduxjs/toolkit/query';
+import { QueryDefinition } from '@reduxjs/toolkit/query';
+import { QueryStatus } from '@reduxjs/toolkit/query';
+import { Reducer } from '@reduxjs/toolkit';
+import { RequestMiddleware } from '@forgerock/sdk-request-middleware';
+import { RootState } from '@reduxjs/toolkit/query';
+import { SerializedError } from '@reduxjs/toolkit';
+import { Unsubscribe } from '@reduxjs/toolkit';
+
+// @public (undocumented)
+export type ActionCollector =
+ | ActionCollectorNoUrl
+ | ActionCollectorWithUrl;
+
+// @public (undocumented)
+export interface ActionCollectorNoUrl {
+ // (undocumented)
+ category: 'ActionCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type ActionCollectors =
+ | ActionCollectorWithUrl<'IdpCollector'>
+ | ActionCollectorNoUrl<'ActionCollector'>
+ | ActionCollectorNoUrl<'FlowCollector'>
+ | ActionCollectorNoUrl<'SubmitCollector'>;
+
+// @public
+export type ActionCollectorTypes =
+ | 'FlowCollector'
+ | 'SubmitCollector'
+ | 'IdpCollector'
+ | 'ActionCollector';
+
+// @public (undocumented)
+export interface ActionCollectorWithUrl {
+ // (undocumented)
+ category: 'ActionCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ url?: string | null;
+ };
+ // (undocumented)
+ type: T;
+}
+
+export { ActionTypes };
+
+// @public (undocumented)
+export interface AgreementCollector extends NoValueCollectorBase<'AgreementCollector'> {
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ titleEnabled: boolean;
+ title: string;
+ agreement: {
+ id: string;
+ useDynamicAgreement: boolean;
+ };
+ enabled: boolean;
+ };
+}
+
+// @public (undocumented)
+export type AgreementField = {
+ type: 'AGREEMENT';
+ key: string;
+ content: string;
+ titleEnabled: boolean;
+ title: string;
+ agreement: {
+ id: string;
+ useDynamicAgreement: boolean;
+ };
+ enabled: boolean;
+};
+
+// @public (undocumented)
+export interface AssertionValue extends Omit<
+ PublicKeyCredential,
+ 'rawId' | 'response' | 'getClientExtensionResults' | 'toJSON'
+> {
+ // (undocumented)
+ rawId: string;
+ // (undocumented)
+ response: {
+ clientDataJSON: string;
+ authenticatorData: string;
+ signature: string;
+ userHandle: string | null;
+ };
+}
+
+// @public (undocumented)
+export interface AttestationValue extends Omit<
+ PublicKeyCredential,
+ 'rawId' | 'response' | 'getClientExtensionResults' | 'toJSON'
+> {
+ // (undocumented)
+ rawId: string;
+ // (undocumented)
+ response: {
+ clientDataJSON: string;
+ attestationObject: string;
+ };
+}
+
+// @public (undocumented)
+export interface AutoCollector<
+ C extends AutoCollectorCategories,
+ T extends AutoCollectorTypes,
+ IV = string,
+ OV = Record,
+> {
+ // (undocumented)
+ category: C;
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: IV;
+ type: string;
+ validation?: ValidationRequired[] | null;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ type: string;
+ config: OV;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type AutoCollectorCategories = 'SingleValueAutoCollector' | 'ObjectValueAutoCollector';
+
+// @public (undocumented)
+export type AutoCollectors =
+ | ProtectCollector
+ | FidoRegistrationCollector
+ | FidoAuthenticationCollector
+ | PollingCollector
+ | SingleValueAutoCollector
+ | ObjectValueAutoCollector;
+
+// @public (undocumented)
+export type AutoCollectorTypes = SingleValueAutoCollectorTypes | ObjectValueAutoCollectorTypes;
+
+// @public (undocumented)
+export interface CollectorErrors {
+ // (undocumented)
+ code: string;
+ // (undocumented)
+ message: string;
+ // (undocumented)
+ target: string;
+}
+
+// @public (undocumented)
+export type CollectorInputTypes =
+ | string
+ | string[]
+ | boolean
+ | PhoneNumberInputValue
+ | PhoneNumberExtensionInputValue
+ | FidoRegistrationInputValue
+ | FidoAuthenticationInputValue;
+
+// @public
+export interface CollectorRichContent {
+ // (undocumented)
+ content: string;
+ // (undocumented)
+ replacements: RichContentLink[];
+}
+
+// @public (undocumented)
+export type Collectors =
+ | FlowCollector
+ | PasswordCollector
+ | ValidatedPasswordCollector
+ | TextCollector
+ | ValidatedBooleanCollector
+ | SingleSelectCollector
+ | IdpCollector
+ | SubmitCollector
+ | ActionCollector<'ActionCollector'>
+ | SingleValueCollector<'SingleValueCollector'>
+ | MultiSelectCollector
+ | DeviceAuthenticationCollector
+ | DeviceRegistrationCollector
+ | PhoneNumberCollector
+ | PhoneNumberExtensionCollector
+ | ReadOnlyCollector
+ | RichTextCollector
+ | ValidatedTextCollector
+ | ProtectCollector
+ | PollingCollector
+ | FidoRegistrationCollector
+ | FidoAuthenticationCollector
+ | QrCodeCollector
+ | AgreementCollector
+ | UnknownCollector;
+
+// @public
+export type CollectorValueType = T extends {
+ type: 'PasswordCollector';
+}
+ ? string
+ : T extends {
+ type: 'ValidatedPasswordCollector';
+ }
+ ? string
+ : T extends {
+ type: 'TextCollector';
+ category: 'SingleValueCollector';
+ }
+ ? string
+ : T extends {
+ type: 'TextCollector';
+ category: 'ValidatedSingleValueCollector';
+ }
+ ? string
+ : T extends {
+ type: 'ValidatedBooleanCollector';
+ }
+ ? boolean
+ : T extends {
+ type: 'SingleSelectCollector';
+ }
+ ? string
+ : T extends {
+ type: 'MultiSelectCollector';
+ }
+ ? string[]
+ : T extends {
+ type: 'DeviceRegistrationCollector';
+ }
+ ? string
+ : T extends {
+ type: 'DeviceAuthenticationCollector';
+ }
+ ? string
+ : T extends {
+ type: 'PhoneNumberCollector';
+ }
+ ? PhoneNumberInputValue
+ : T extends {
+ type: 'PhoneNumberExtensionCollector';
+ }
+ ? PhoneNumberExtensionInputValue
+ : T extends {
+ type: 'FidoRegistrationCollector';
+ }
+ ? FidoRegistrationInputValue
+ : T extends {
+ type: 'FidoAuthenticationCollector';
+ }
+ ? FidoAuthenticationInputValue
+ : T extends {
+ category: 'SingleValueCollector';
+ }
+ ? string
+ : T extends {
+ category: 'ValidatedSingleValueCollector';
+ }
+ ? string
+ : T extends {
+ category: 'MultiValueCollector';
+ }
+ ? string[]
+ : CollectorInputTypes;
+
+// @public (undocumented)
+export type ComplexValueFields =
+ | DeviceAuthenticationField
+ | DeviceRegistrationField
+ | PhoneNumberField
+ | PhoneNumberExtensionField
+ | FidoRegistrationField
+ | FidoAuthenticationField
+ | PollingField;
+
+// @public (undocumented)
+export interface ContinueNode {
+ // (undocumented)
+ cache: {
+ key: string;
+ };
+ // (undocumented)
+ client: {
+ action: string;
+ collectors: Collectors[];
+ description?: string;
+ name?: string;
+ status: 'continue';
+ };
+ // (undocumented)
+ error: null;
+ // (undocumented)
+ httpStatus: number;
+ // (undocumented)
+ server: {
+ _links?: Links;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ href?: string;
+ eventName?: string;
+ status: 'continue';
+ };
+ // (undocumented)
+ status: 'continue';
+}
+
+export { CustomLogger };
+
+// @public
+export type CustomPollingStatus = string & {};
+
+// @public
+export function davinci(input: {
+ config: DaVinciConfig;
+ requestMiddleware?: RequestMiddleware[];
+ logger?: {
+ level: LogLevel;
+ custom?: CustomLogger;
+ };
+}): Promise<{
+ subscribe: (listener: () => void) => Unsubscribe;
+ externalIdp: () => () => Promise;
+ flow: (action: DaVinciAction) => InitFlow;
+ next: (args?: DaVinciRequest) => Promise;
+ resume: (input: { continueToken: string }) => Promise;
+ start: (
+ options?: StartOptions | undefined,
+ ) => Promise;
+ update: <
+ T extends SingleValueCollectors | MultiSelectCollector | ObjectValueCollectors | AutoCollectors,
+ >(
+ collector: T,
+ ) => Updater;
+ validate: (
+ collector:
+ | SingleValueCollectors
+ | ObjectValueCollectors
+ | MultiValueCollectors
+ | AutoCollectors,
+ ) => Validator;
+ pollStatus: (collector: PollingCollector) => Poller;
+ getClient: () =>
+ | {
+ status: 'start';
+ }
+ | {
+ action: string;
+ collectors: Collectors[];
+ description?: string;
+ name?: string;
+ status: 'continue';
+ }
+ | {
+ action: string;
+ collectors: Collectors[];
+ description?: string;
+ name?: string;
+ status: 'error';
+ }
+ | {
+ authorization?: {
+ code?: string;
+ state?: string;
+ };
+ status: 'success';
+ }
+ | {
+ status: 'failure';
+ }
+ | null;
+ getCollectors: () => Collectors[];
+ getError: () => DaVinciError | null;
+ getErrorCollectors: () => CollectorErrors[];
+ getNode: () => ContinueNode | ErrorNode | StartNode | SuccessNode | FailureNode;
+ getServer: () =>
+ | {
+ status: 'start';
+ }
+ | {
+ _links?: Links;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ href?: string;
+ eventName?: string;
+ status: 'continue';
+ }
+ | {
+ _links?: Links;
+ eventName?: string;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ status: 'error';
+ }
+ | {
+ _links?: Links;
+ eventName?: string;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ href?: string;
+ session?: string;
+ status: 'success';
+ }
+ | {
+ _links?: Links;
+ eventName?: string;
+ href?: string;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ status: 'failure';
+ }
+ | null;
+ cache: {
+ getLatestResponse: () =>
+ | ((
+ state: RootState<
+ {
+ flow: MutationDefinition<
+ any,
+ BaseQueryFn<
+ string | FetchArgs,
+ unknown,
+ FetchBaseQueryError,
+ {},
+ FetchBaseQueryMeta
+ >,
+ never,
+ unknown,
+ 'davinci',
+ any
+ >;
+ next: MutationDefinition<
+ any,
+ BaseQueryFn<
+ string | FetchArgs,
+ unknown,
+ FetchBaseQueryError,
+ {},
+ FetchBaseQueryMeta
+ >,
+ never,
+ unknown,
+ 'davinci',
+ any
+ >;
+ start: MutationDefinition<
+ StartOptions | undefined,
+ BaseQueryFn<
+ string | FetchArgs,
+ unknown,
+ FetchBaseQueryError,
+ {},
+ FetchBaseQueryMeta
+ >,
+ never,
+ unknown,
+ 'davinci',
+ unknown
+ >;
+ resume: QueryDefinition<
+ {
+ serverInfo: ContinueNode['server'];
+ continueToken: string;
+ },
+ BaseQueryFn<
+ string | FetchArgs,
+ unknown,
+ FetchBaseQueryError,
+ {},
+ FetchBaseQueryMeta
+ >,
+ never,
+ unknown,
+ 'davinci',
+ unknown
+ >;
+ poll: MutationDefinition<
+ {
+ endpoint: string;
+ interactionId: string;
+ },
+ BaseQueryFn<
+ string | FetchArgs,
+ unknown,
+ FetchBaseQueryError,
+ {},
+ FetchBaseQueryMeta
+ >,
+ never,
+ unknown,
+ 'davinci',
+ unknown
+ >;
+ },
+ never,
+ 'davinci'
+ >,
+ ) =>
+ | ({
+ requestId?: undefined;
+ status: QueryStatus.uninitialized;
+ data?: undefined;
+ error?: undefined;
+ endpointName?: string;
+ startedTimeStamp?: undefined;
+ fulfilledTimeStamp?: undefined;
+ } & {
+ status: QueryStatus.uninitialized;
+ isUninitialized: true;
+ isLoading: false;
+ isSuccess: false;
+ isError: false;
+ })
+ | ({
+ status: QueryStatus.fulfilled;
+ } & Omit<
+ {
+ requestId: string;
+ data?: unknown;
+ error?: SerializedError | FetchBaseQueryError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ },
+ 'data' | 'fulfilledTimeStamp'
+ > &
+ Required<
+ Pick<
+ {
+ requestId: string;
+ data?: unknown;
+ error?: SerializedError | FetchBaseQueryError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ },
+ 'data' | 'fulfilledTimeStamp'
+ >
+ > & {
+ error: undefined;
+ } & {
+ status: QueryStatus.fulfilled;
+ isUninitialized: false;
+ isLoading: false;
+ isSuccess: true;
+ isError: false;
+ })
+ | ({
+ status: QueryStatus.pending;
+ } & {
+ requestId: string;
+ data?: unknown;
+ error?: SerializedError | FetchBaseQueryError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ } & {
+ data?: undefined;
+ } & {
+ status: QueryStatus.pending;
+ isUninitialized: false;
+ isLoading: true;
+ isSuccess: false;
+ isError: false;
+ })
+ | ({
+ status: QueryStatus.rejected;
+ } & Omit<
+ {
+ requestId: string;
+ data?: unknown;
+ error?: SerializedError | FetchBaseQueryError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ },
+ 'error'
+ > &
+ Required<
+ Pick<
+ {
+ requestId: string;
+ data?: unknown;
+ error?: SerializedError | FetchBaseQueryError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ },
+ 'error'
+ >
+ > & {
+ status: QueryStatus.rejected;
+ isUninitialized: false;
+ isLoading: false;
+ isSuccess: false;
+ isError: true;
+ }))
+ | {
+ error: {
+ message: string;
+ type: string;
+ };
+ };
+ getResponseWithId: (requestId: string) =>
+ | ((
+ state: RootState<
+ {
+ flow: MutationDefinition<
+ any,
+ BaseQueryFn<
+ string | FetchArgs,
+ unknown,
+ FetchBaseQueryError,
+ {},
+ FetchBaseQueryMeta
+ >,
+ never,
+ unknown,
+ 'davinci',
+ any
+ >;
+ next: MutationDefinition<
+ any,
+ BaseQueryFn<
+ string | FetchArgs,
+ unknown,
+ FetchBaseQueryError,
+ {},
+ FetchBaseQueryMeta
+ >,
+ never,
+ unknown,
+ 'davinci',
+ any
+ >;
+ start: MutationDefinition<
+ StartOptions | undefined,
+ BaseQueryFn<
+ string | FetchArgs,
+ unknown,
+ FetchBaseQueryError,
+ {},
+ FetchBaseQueryMeta
+ >,
+ never,
+ unknown,
+ 'davinci',
+ unknown
+ >;
+ resume: QueryDefinition<
+ {
+ serverInfo: ContinueNode['server'];
+ continueToken: string;
+ },
+ BaseQueryFn<
+ string | FetchArgs,
+ unknown,
+ FetchBaseQueryError,
+ {},
+ FetchBaseQueryMeta
+ >,
+ never,
+ unknown,
+ 'davinci',
+ unknown
+ >;
+ poll: MutationDefinition<
+ {
+ endpoint: string;
+ interactionId: string;
+ },
+ BaseQueryFn<
+ string | FetchArgs,
+ unknown,
+ FetchBaseQueryError,
+ {},
+ FetchBaseQueryMeta
+ >,
+ never,
+ unknown,
+ 'davinci',
+ unknown
+ >;
+ },
+ never,
+ 'davinci'
+ >,
+ ) =>
+ | ({
+ requestId?: undefined;
+ status: QueryStatus.uninitialized;
+ data?: undefined;
+ error?: undefined;
+ endpointName?: string;
+ startedTimeStamp?: undefined;
+ fulfilledTimeStamp?: undefined;
+ } & {
+ status: QueryStatus.uninitialized;
+ isUninitialized: true;
+ isLoading: false;
+ isSuccess: false;
+ isError: false;
+ })
+ | ({
+ status: QueryStatus.fulfilled;
+ } & Omit<
+ {
+ requestId: string;
+ data?: unknown;
+ error?: SerializedError | FetchBaseQueryError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ },
+ 'data' | 'fulfilledTimeStamp'
+ > &
+ Required<
+ Pick<
+ {
+ requestId: string;
+ data?: unknown;
+ error?: SerializedError | FetchBaseQueryError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ },
+ 'data' | 'fulfilledTimeStamp'
+ >
+ > & {
+ error: undefined;
+ } & {
+ status: QueryStatus.fulfilled;
+ isUninitialized: false;
+ isLoading: false;
+ isSuccess: true;
+ isError: false;
+ })
+ | ({
+ status: QueryStatus.pending;
+ } & {
+ requestId: string;
+ data?: unknown;
+ error?: SerializedError | FetchBaseQueryError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ } & {
+ data?: undefined;
+ } & {
+ status: QueryStatus.pending;
+ isUninitialized: false;
+ isLoading: true;
+ isSuccess: false;
+ isError: false;
+ })
+ | ({
+ status: QueryStatus.rejected;
+ } & Omit<
+ {
+ requestId: string;
+ data?: unknown;
+ error?: SerializedError | FetchBaseQueryError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ },
+ 'error'
+ > &
+ Required<
+ Pick<
+ {
+ requestId: string;
+ data?: unknown;
+ error?: SerializedError | FetchBaseQueryError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ },
+ 'error'
+ >
+ > & {
+ status: QueryStatus.rejected;
+ isUninitialized: false;
+ isLoading: false;
+ isSuccess: false;
+ isError: true;
+ }))
+ | {
+ error: {
+ message: string;
+ type: string;
+ };
+ };
+ };
+}>;
+
+// @public
+export interface DaVinciAction {
+ // (undocumented)
+ action: string;
+}
+
+// @public
+export interface DaVinciBaseResponse {
+ // (undocumented)
+ capabilityName?: string;
+ // (undocumented)
+ companyId?: string;
+ // (undocumented)
+ connectionId?: string;
+ // (undocumented)
+ connectorId?: string;
+ // (undocumented)
+ id?: string;
+ // (undocumented)
+ interactionId?: string;
+ // (undocumented)
+ interactionToken?: string;
+ // (undocumented)
+ isResponseCompatibleWithMobileAndWebSdks?: boolean;
+ // (undocumented)
+ status?: string;
+}
+
+// @public
+export type DaVinciCacheEntry = {
+ data?: DaVinciBaseResponse;
+ error?: {
+ data: DaVinciBaseResponse;
+ status: number;
+ };
+} & {
+ data?: any;
+ error?: any;
+} & MutationResultSelectorResult;
+
+// @public (undocumented)
+export type DavinciClient = Awaited>;
+
+// @public (undocumented)
+export interface DaVinciConfig extends AsyncLegacyConfigOptions {
+ // (undocumented)
+ responseType?: string;
+}
+
+// @public (undocumented)
+export interface DaVinciError extends Omit {
+ // (undocumented)
+ collectors?: CollectorErrors[];
+ // (undocumented)
+ internalHttpStatus?: number;
+ // (undocumented)
+ message: string;
+ // (undocumented)
+ status: 'error' | 'failure' | 'unknown';
+}
+
+// @public (undocumented)
+export interface DaVinciErrorCacheEntry {
+ // (undocumented)
+ endpointName: 'next' | 'flow' | 'start';
+ // (undocumented)
+ error: {
+ data: T;
+ };
+ // (undocumented)
+ fulfilledTimeStamp: number;
+ // (undocumented)
+ isError: boolean;
+ // (undocumented)
+ isLoading: boolean;
+ // (undocumented)
+ isSuccess: boolean;
+ // (undocumented)
+ isUninitialized: boolean;
+ // (undocumented)
+ requestId: string;
+ // (undocumented)
+ startedTimeStamp: number;
+ // (undocumented)
+ status: 'fulfilled' | 'pending' | 'rejected';
+}
+
+// @public (undocumented)
+export interface DavinciErrorResponse extends DaVinciBaseResponse {
+ // (undocumented)
+ cause?: string | null;
+ // (undocumented)
+ code: string | number;
+ // (undocumented)
+ details?: ErrorDetail[];
+ // (undocumented)
+ doNotSendToOE?: boolean;
+ // (undocumented)
+ error?: {
+ code?: string;
+ message?: string;
+ };
+ // (undocumented)
+ errorCategory?: string;
+ // (undocumented)
+ errorMessage?: string;
+ // (undocumented)
+ expected?: boolean;
+ // (undocumented)
+ httpResponseCode: number;
+ // (undocumented)
+ isErrorCustomized?: boolean;
+ // (undocumented)
+ message: string;
+ // (undocumented)
+ metricAttributes?: {
+ [key: string]: unknown;
+ };
+}
+
+// @public (undocumented)
+export interface DaVinciFailureResponse extends DaVinciBaseResponse {
+ // (undocumented)
+ error?: {
+ code?: string;
+ message?: string;
+ [key: string]: unknown;
+ };
+}
+
+// @public (undocumented)
+export type DaVinciField =
+ | ComplexValueFields
+ | MultiValueFields
+ | ReadOnlyFields
+ | RedirectFields
+ | SingleValueFields;
+
+// @public
+export interface DaVinciNextResponse extends DaVinciBaseResponse {
+ // (undocumented)
+ eventName?: string;
+ // (undocumented)
+ form?: {
+ name?: string;
+ description?: string;
+ components?: {
+ fields?: DaVinciField[];
+ };
+ };
+ // (undocumented)
+ formData?: {
+ value?: {
+ [key: string]: string;
+ };
+ };
+ // (undocumented)
+ _links?: Links;
+}
+
+// @public
+export interface DaVinciPollResponse extends DaVinciBaseResponse {
+ // (undocumented)
+ eventName?: string;
+ // (undocumented)
+ _links?: Links;
+ // (undocumented)
+ success?: boolean;
+}
+
+// @public (undocumented)
+export interface DaVinciRequest {
+ // (undocumented)
+ eventName: string;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ interactionId: string;
+ // (undocumented)
+ parameters: {
+ eventType: 'submit' | 'action' | 'polling';
+ data: {
+ actionKey: string;
+ formData?: Record;
+ };
+ };
+}
+
+// @public (undocumented)
+export interface DaVinciSuccessResponse extends DaVinciBaseResponse {
+ // (undocumented)
+ authorizeResponse?: OAuthDetails;
+ // (undocumented)
+ environment: {
+ id: string;
+ [key: string]: unknown;
+ };
+ // (undocumented)
+ _links?: Links;
+ // (undocumented)
+ resetCookie?: boolean;
+ // (undocumented)
+ session?: {
+ id?: string;
+ [key: string]: unknown;
+ };
+ // (undocumented)
+ sessionToken?: string;
+ // (undocumented)
+ sessionTokenMaxAge?: number;
+ // (undocumented)
+ status: string;
+ // (undocumented)
+ subFlowSettings?: {
+ cssLinks?: unknown[];
+ cssUrl?: unknown;
+ jsLinks?: unknown[];
+ loadingScreenSettings?: unknown;
+ reactSkUrl?: unknown;
+ };
+ // (undocumented)
+ success: true;
+}
+
+// @public (undocumented)
+export type DeviceAuthenticationCollector = ObjectOptionsCollectorWithObjectValue<
+ 'DeviceAuthenticationCollector',
+ DeviceValue
+>;
+
+// @public (undocumented)
+export type DeviceAuthenticationField = {
+ type: 'DEVICE_AUTHENTICATION';
+ key: string;
+ label: string;
+ options: {
+ type: string;
+ iconSrc: string;
+ title: string;
+ id: string;
+ default: boolean;
+ description: string;
+ }[];
+ required: boolean;
+};
+
+// @public (undocumented)
+export interface DeviceOptionNoDefault {
+ // (undocumented)
+ content: string;
+ // (undocumented)
+ key: string;
+ // (undocumented)
+ label: string;
+ // (undocumented)
+ type: string;
+ // (undocumented)
+ value: string;
+}
+
+// @public (undocumented)
+export interface DeviceOptionWithDefault {
+ // (undocumented)
+ content: string;
+ // (undocumented)
+ default: boolean;
+ // (undocumented)
+ key: string;
+ // (undocumented)
+ label: string;
+ // (undocumented)
+ type: string;
+ // (undocumented)
+ value: string;
+}
+
+// @public (undocumented)
+export type DeviceRegistrationCollector = ObjectOptionsCollectorWithStringValue<
+ 'DeviceRegistrationCollector',
+ string
+>;
+
+// @public (undocumented)
+export type DeviceRegistrationField = {
+ type: 'DEVICE_REGISTRATION';
+ key: string;
+ label: string;
+ options: {
+ type: string;
+ iconSrc: string;
+ title: string;
+ description: string;
+ }[];
+ required: boolean;
+};
+
+// @public (undocumented)
+export interface DeviceValue {
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ type: string;
+ // (undocumented)
+ value: string;
+}
+
+// @public (undocumented)
+export interface ErrorDetail {
+ // (undocumented)
+ message?: string;
+ // (undocumented)
+ rawResponse?: {
+ _embedded?: {
+ users?: Array;
+ };
+ code?: string;
+ count?: number;
+ details?: NestedErrorDetails[];
+ id?: string;
+ message?: string;
+ size?: number;
+ userFilter?: string;
+ [key: string]: unknown;
+ };
+ // (undocumented)
+ statusCode?: number;
+}
+
+// @public (undocumented)
+export interface ErrorNode {
+ // (undocumented)
+ cache: {
+ key: string;
+ };
+ // (undocumented)
+ client: {
+ action: string;
+ collectors: Collectors[];
+ description?: string;
+ name?: string;
+ status: 'error';
+ };
+ // (undocumented)
+ error: DaVinciError;
+ // (undocumented)
+ httpStatus: number;
+ // (undocumented)
+ server: {
+ _links?: Links;
+ eventName?: string;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ status: 'error';
+ } | null;
+ // (undocumented)
+ status: 'error';
+}
+
+// @public (undocumented)
+export interface FailureNode {
+ // (undocumented)
+ cache: {
+ key: string;
+ };
+ // (undocumented)
+ client: {
+ status: 'failure';
+ };
+ // (undocumented)
+ error: DaVinciError;
+ // (undocumented)
+ httpStatus: number;
+ // (undocumented)
+ server: {
+ _links?: Links;
+ eventName?: string;
+ href?: string;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ status: 'failure';
+ } | null;
+ // (undocumented)
+ status: 'failure';
+}
+
+// @public
+export function fido(): FidoClient;
+
+// @public (undocumented)
+export type FidoAuthenticationCollector = AutoCollector<
+ 'ObjectValueAutoCollector',
+ 'FidoAuthenticationCollector',
+ FidoAuthenticationInputValue,
+ FidoAuthenticationOutputValue
+>;
+
+// @public (undocumented)
+export type FidoAuthenticationField = {
+ type: 'FIDO2';
+ key: string;
+ label: string;
+ publicKeyCredentialRequestOptions: FidoAuthenticationOptions;
+ action: 'AUTHENTICATE';
+ trigger: string;
+ required: boolean;
+};
+
+// @public (undocumented)
+export interface FidoAuthenticationInputValue {
+ // (undocumented)
+ assertionValue?: AssertionValue;
+}
+
+// @public (undocumented)
+export interface FidoAuthenticationOptions extends Omit<
+ PublicKeyCredentialRequestOptions,
+ 'challenge' | 'allowCredentials'
+> {
+ // (undocumented)
+ allowCredentials?: {
+ id: number[];
+ transports?: AuthenticatorTransport[];
+ type: PublicKeyCredentialType;
+ }[];
+ // (undocumented)
+ challenge: number[];
+}
+
+// @public (undocumented)
+export interface FidoAuthenticationOutputValue {
+ // (undocumented)
+ action: 'AUTHENTICATE';
+ // (undocumented)
+ publicKeyCredentialRequestOptions: FidoAuthenticationOptions;
+ // (undocumented)
+ trigger: string;
+}
+
+// @public (undocumented)
+export interface FidoClient {
+ authenticate: (
+ options: FidoAuthenticationOptions,
+ ) => Promise;
+ register: (
+ options: FidoRegistrationOptions,
+ ) => Promise;
+}
+
+// @public (undocumented)
+export type FidoRegistrationCollector = AutoCollector<
+ 'ObjectValueAutoCollector',
+ 'FidoRegistrationCollector',
+ FidoRegistrationInputValue,
+ FidoRegistrationOutputValue
+>;
+
+// @public (undocumented)
+export type FidoRegistrationField = {
+ type: 'FIDO2';
+ key: string;
+ label: string;
+ publicKeyCredentialCreationOptions: FidoRegistrationOptions;
+ action: 'REGISTER';
+ trigger: string;
+ required: boolean;
+};
+
+// @public (undocumented)
+export interface FidoRegistrationInputValue {
+ // (undocumented)
+ attestationValue?: AttestationValue;
+}
+
+// @public (undocumented)
+export interface FidoRegistrationOptions extends Omit<
+ PublicKeyCredentialCreationOptions,
+ 'challenge' | 'user' | 'pubKeyCredParams' | 'excludeCredentials'
+> {
+ // (undocumented)
+ challenge: number[];
+ // (undocumented)
+ excludeCredentials?: {
+ id: number[];
+ transports?: AuthenticatorTransport[];
+ type: PublicKeyCredentialType;
+ }[];
+ // (undocumented)
+ pubKeyCredParams: {
+ alg: string | number;
+ type: PublicKeyCredentialType;
+ }[];
+ // (undocumented)
+ user: {
+ id: number[];
+ name: string;
+ displayName: string;
+ };
+}
+
+// @public (undocumented)
+export interface FidoRegistrationOutputValue {
+ // (undocumented)
+ action: 'REGISTER';
+ // (undocumented)
+ publicKeyCredentialCreationOptions: FidoRegistrationOptions;
+ // (undocumented)
+ trigger: string;
+}
+
+// @public (undocumented)
+export type FlowCollector = ActionCollectorNoUrl<'FlowCollector'>;
+
+// @public (undocumented)
+export type FlowNode = ContinueNode | ErrorNode | StartNode | SuccessNode | FailureNode;
+
+// @public
+export type GetClient =
+ | StartNode['client']
+ | ContinueNode['client']
+ | ErrorNode['client']
+ | SuccessNode['client']
+ | FailureNode['client'];
+
+// @public (undocumented)
+export type IdpCollector = ActionCollectorWithUrl<'IdpCollector'>;
+
+// @public (undocumented)
+export type InferActionCollectorType = T extends 'IdpCollector'
+ ? IdpCollector
+ : T extends 'SubmitCollector'
+ ? SubmitCollector
+ : T extends 'FlowCollector'
+ ? FlowCollector
+ : ActionCollectorWithUrl<'ActionCollector'> | ActionCollectorNoUrl<'ActionCollector'>;
+
+// @public
+export type InferAutoCollectorType = T extends 'ProtectCollector'
+ ? ProtectCollector
+ : T extends 'PollingCollector'
+ ? PollingCollector
+ : T extends 'FidoRegistrationCollector'
+ ? FidoRegistrationCollector
+ : T extends 'FidoAuthenticationCollector'
+ ? FidoAuthenticationCollector
+ : T extends 'ObjectValueAutoCollector'
+ ? ObjectValueAutoCollector
+ : SingleValueAutoCollector;
+
+// @public
+export type InferMultiValueCollectorType =
+ T extends 'MultiSelectCollector'
+ ? MultiValueCollectorWithValue<'MultiSelectCollector'>
+ :
+ | MultiValueCollectorWithValue<'MultiValueCollector'>
+ | MultiValueCollectorNoValue<'MultiValueCollector'>;
+
+// @public
+export type InferNoValueCollectorType =
+ T extends 'ReadOnlyCollector'
+ ? ReadOnlyCollector
+ : T extends 'RichTextCollector'
+ ? RichTextCollector
+ : T extends 'QrCodeCollector'
+ ? QrCodeCollector
+ : T extends 'AgreementCollector'
+ ? AgreementCollector
+ : NoValueCollectorBase<'NoValueCollector'>;
+
+// @public
+export type InferSingleValueCollectorType =
+ T extends 'TextCollector'
+ ? TextCollector
+ : T extends 'SingleSelectCollector'
+ ? SingleSelectCollector
+ : T extends 'ValidatedTextCollector'
+ ? ValidatedTextCollector
+ : T extends 'PasswordCollector'
+ ? PasswordCollector
+ : T extends 'ValidatedPasswordCollector'
+ ? ValidatedPasswordCollector
+ : T extends 'ValidatedBooleanCollector'
+ ? ValidatedBooleanCollector
+ :
+ | SingleValueCollectorWithValue<'SingleValueCollector'>
+ | SingleValueCollectorNoValue<'SingleValueCollector'>;
+
+// @public (undocumented)
+export type InferValueObjectCollectorType =
+ T extends 'DeviceAuthenticationCollector'
+ ? DeviceAuthenticationCollector
+ : T extends 'DeviceRegistrationCollector'
+ ? DeviceRegistrationCollector
+ : T extends 'PhoneNumberCollector'
+ ? PhoneNumberCollector
+ : T extends 'PhoneNumberExtensionCollector'
+ ? PhoneNumberExtensionCollector
+ :
+ | ObjectOptionsCollectorWithObjectValue<'ObjectValueCollector'>
+ | ObjectOptionsCollectorWithStringValue<'ObjectValueCollector'>;
+
+// @public (undocumented)
+export type InitFlow = () => Promise;
+
+// @public (undocumented)
+export interface InternalErrorResponse {
+ // (undocumented)
+ error: Omit & {
+ message: string;
+ };
+ // (undocumented)
+ type: 'internal_error';
+}
+
+// @public (undocumented)
+export interface Links {
+ // (undocumented)
+ [key: string]: {
+ href?: string;
+ };
+}
+
+export { LogLevel };
+
+// @public (undocumented)
+export type MultiSelectCollector = MultiValueCollectorWithValue<'MultiSelectCollector'>;
+
+// @public (undocumented)
+export type MultiSelectField = {
+ inputType: 'MULTI_SELECT';
+ key: string;
+ label: string;
+ options: {
+ label: string;
+ value: string;
+ }[];
+ required?: boolean;
+ type: 'CHECKBOX' | 'COMBOBOX';
+};
+
+// @public (undocumented)
+export type MultiValueCollector =
+ | MultiValueCollectorWithValue
+ | MultiValueCollectorNoValue;
+
+// @public (undocumented)
+export interface MultiValueCollectorNoValue {
+ // (undocumented)
+ category: 'MultiValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: string[];
+ type: string;
+ validation: ValidationRequired[] | null;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ options: SelectorOption[];
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type MultiValueCollectors =
+ | MultiValueCollectorWithValue<'MultiValueCollector'>
+ | MultiValueCollectorWithValue<'MultiSelectCollector'>;
+
+// @public
+export type MultiValueCollectorTypes = 'MultiSelectCollector' | 'MultiValueCollector';
+
+// @public (undocumented)
+export interface MultiValueCollectorWithValue {
+ // (undocumented)
+ category: 'MultiValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: string[];
+ type: string;
+ validation: ValidationRequired[] | null;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ value: string[];
+ options: SelectorOption[];
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type MultiValueFields = MultiSelectField;
+
+// @public
+export interface NestedErrorDetails {
+ // (undocumented)
+ code?: string;
+ // (undocumented)
+ innerError?: {
+ history?: string;
+ unsatisfiedRequirements?: string[];
+ failuresRemaining?: number;
+ };
+ // (undocumented)
+ message?: string;
+ // (undocumented)
+ target?: string;
+}
+
+// @public
+export const nextCollectorValues: ActionCreatorWithPayload<
+ {
+ fields: DaVinciField[];
+ formData: {
+ value: Record;
+ };
+ },
+ string
+>;
+
+// @public
+export const nodeCollectorReducer: Reducer<
+ (
+ | ValidatedTextCollector
+ | ValidatedBooleanCollector
+ | ValidatedPasswordCollector
+ | DeviceAuthenticationCollector
+ | DeviceRegistrationCollector
+ | PhoneNumberCollector
+ | PhoneNumberExtensionCollector
+ | ProtectCollector
+ | FidoRegistrationCollector
+ | FidoAuthenticationCollector
+ | PollingCollector
+ | TextCollector
+ | PasswordCollector
+ | SingleSelectCollector
+ | UnknownCollector
+ | IdpCollector
+ | FlowCollector
+ | SubmitCollector
+ | ReadOnlyCollector
+ | RichTextCollector
+ | QrCodeCollector
+ | AgreementCollector
+ | ActionCollector<'ActionCollector'>
+ | SingleValueCollector<'SingleValueCollector'>
+ | MultiSelectCollector
+ )[]
+> & {
+ getInitialState: () => (
+ | ValidatedTextCollector
+ | ValidatedBooleanCollector
+ | ValidatedPasswordCollector
+ | DeviceAuthenticationCollector
+ | DeviceRegistrationCollector
+ | PhoneNumberCollector
+ | PhoneNumberExtensionCollector
+ | ProtectCollector
+ | FidoRegistrationCollector
+ | FidoAuthenticationCollector
+ | PollingCollector
+ | TextCollector
+ | PasswordCollector
+ | SingleSelectCollector
+ | UnknownCollector
+ | IdpCollector
+ | FlowCollector
+ | SubmitCollector
+ | ReadOnlyCollector
+ | RichTextCollector
+ | QrCodeCollector
+ | AgreementCollector
+ | ActionCollector<'ActionCollector'>
+ | SingleValueCollector<'SingleValueCollector'>
+ | MultiSelectCollector
+ )[];
+};
+
+// @public (undocumented)
+export type NodeStates = StartNode | ContinueNode | ErrorNode | SuccessNode | FailureNode;
+
+// @public (undocumented)
+export type NoValueCollector = InferNoValueCollectorType;
+
+// @public (undocumented)
+export interface NoValueCollectorBase {
+ // (undocumented)
+ category: 'NoValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type NoValueCollectors =
+ | NoValueCollectorBase<'NoValueCollector'>
+ | ReadOnlyCollector
+ | RichTextCollector
+ | QrCodeCollector
+ | AgreementCollector;
+
+// @public
+export type NoValueCollectorTypes =
+ | 'ReadOnlyCollector'
+ | 'RichTextCollector'
+ | 'NoValueCollector'
+ | 'QrCodeCollector'
+ | 'AgreementCollector';
+
+// @public
+export interface OAuthDetails {
+ // (undocumented)
+ [key: string]: unknown;
+ // (undocumented)
+ code?: string;
+ // (undocumented)
+ state?: string;
+}
+
+// @public (undocumented)
+export interface ObjectOptionsCollectorWithObjectValue<
+ T extends ObjectValueCollectorTypes,
+ V = Record,
+ D = Record,
+> {
+ // (undocumented)
+ category: 'ObjectValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: V;
+ type: string;
+ validation: ValidationRequired[] | null;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ options: DeviceOptionWithDefault[];
+ value?: D | null;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export interface ObjectOptionsCollectorWithStringValue<
+ T extends ObjectValueCollectorTypes,
+ V = string,
+> {
+ // (undocumented)
+ category: 'ObjectValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: V;
+ type: string;
+ validation: ValidationRequired[] | null;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ options: DeviceOptionNoDefault[];
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type ObjectValueAutoCollector = AutoCollector<
+ 'ObjectValueAutoCollector',
+ 'ObjectValueAutoCollector',
+ Record
+>;
+
+// @public (undocumented)
+export type ObjectValueAutoCollectorTypes =
+ | 'ObjectValueAutoCollector'
+ | 'FidoRegistrationCollector'
+ | 'FidoAuthenticationCollector';
+
+// @public (undocumented)
+export type ObjectValueCollector =
+ | ObjectOptionsCollectorWithObjectValue
+ | ObjectOptionsCollectorWithStringValue
+ | ObjectValueCollectorWithObjectValue;
+
+// @public (undocumented)
+export type ObjectValueCollectors =
+ | DeviceAuthenticationCollector
+ | DeviceRegistrationCollector
+ | PhoneNumberCollector
+ | PhoneNumberExtensionCollector
+ | ObjectOptionsCollectorWithObjectValue<'ObjectSelectCollector'>
+ | ObjectOptionsCollectorWithStringValue<'ObjectSelectCollector'>;
+
+// @public
+export type ObjectValueCollectorTypes =
+ | 'DeviceAuthenticationCollector'
+ | 'DeviceRegistrationCollector'
+ | 'PhoneNumberCollector'
+ | 'PhoneNumberExtensionCollector'
+ | 'ObjectOptionsCollector'
+ | 'ObjectValueCollector'
+ | 'ObjectSelectCollector';
+
+// @public (undocumented)
+export interface ObjectValueCollectorWithObjectValue<
+ T extends ObjectValueCollectorTypes,
+ IV = Record,
+ OV = Record,
+> {
+ // (undocumented)
+ category: 'ObjectValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: IV;
+ type: string;
+ validation: (ValidationRequired | ValidationPhoneNumber)[] | null;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ value?: OV | null;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export interface OutgoingQueryParams {
+ // (undocumented)
+ [key: string]: string | string[];
+}
+
+// @public (undocumented)
+export interface PasswordCollector {
+ // (undocumented)
+ category: 'SingleValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: string | number | boolean;
+ type: string;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ verify: boolean;
+ };
+ // (undocumented)
+ type: 'PasswordCollector';
+}
+
+// @public
+export type PasswordField = {
+ type: 'PASSWORD' | 'PASSWORD_VERIFY';
+ key: string;
+ label: string;
+ required?: boolean;
+ verify?: boolean;
+ passwordPolicy?: PasswordPolicy;
+};
+
+// @public
+export interface PasswordPolicy {
+ // (undocumented)
+ createdAt?: string;
+ // (undocumented)
+ default?: boolean;
+ // (undocumented)
+ description?: string;
+ // (undocumented)
+ excludesCommonlyUsed?: boolean;
+ // (undocumented)
+ excludesProfileData?: boolean;
+ // (undocumented)
+ history?: {
+ count?: number;
+ retentionDays?: number;
+ };
+ // (undocumented)
+ id?: string;
+ // (undocumented)
+ length?: {
+ min?: number;
+ max?: number;
+ };
+ // (undocumented)
+ lockout?: {
+ failureCount?: number;
+ durationSeconds?: number;
+ };
+ // (undocumented)
+ maxAgeDays?: number;
+ // (undocumented)
+ maxRepeatedCharacters?: number;
+ // (undocumented)
+ minAgeDays?: number;
+ // (undocumented)
+ minCharacters?: Record;
+ // (undocumented)
+ minUniqueCharacters?: number;
+ // (undocumented)
+ name?: string;
+ // (undocumented)
+ notSimilarToCurrent?: boolean;
+ // (undocumented)
+ populationCount?: number;
+ // (undocumented)
+ updatedAt?: string;
+}
+
+// @public (undocumented)
+export type PhoneNumberCollector = ObjectValueCollectorWithObjectValue<
+ 'PhoneNumberCollector',
+ PhoneNumberInputValue,
+ PhoneNumberOutputValue
+>;
+
+// @public (undocumented)
+export interface PhoneNumberExtensionCollector {
+ // (undocumented)
+ category: 'ObjectValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: PhoneNumberExtensionInputValue;
+ type: string;
+ validation: (ValidationRequired | ValidationPhoneNumber)[] | null;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ extensionLabel: string;
+ value: PhoneNumberExtensionOutputValue;
+ };
+ // (undocumented)
+ type: 'PhoneNumberExtensionCollector';
+}
+
+// @public (undocumented)
+export type PhoneNumberExtensionField = PhoneNumberField & {
+ showExtension: boolean;
+ extensionLabel: string;
+};
+
+// @public (undocumented)
+export interface PhoneNumberExtensionInputValue {
+ // (undocumented)
+ countryCode: string;
+ // (undocumented)
+ extension: string;
+ // (undocumented)
+ phoneNumber: string;
+}
+
+// @public (undocumented)
+export interface PhoneNumberExtensionOutputValue {
+ // (undocumented)
+ countryCode?: string;
+ // (undocumented)
+ extension?: string;
+ // (undocumented)
+ phoneNumber?: string;
+}
+
+// @public (undocumented)
+export type PhoneNumberField = {
+ type: 'PHONE_NUMBER';
+ key: string;
+ label: string;
+ required: boolean;
+ defaultCountryCode: string | null;
+ validatePhoneNumber: boolean;
+};
+
+// @public (undocumented)
+export interface PhoneNumberInputValue {
+ // (undocumented)
+ countryCode: string;
+ // (undocumented)
+ phoneNumber: string;
+}
+
+// @public (undocumented)
+export interface PhoneNumberOutputValue {
+ // (undocumented)
+ countryCode?: string;
+ // (undocumented)
+ phoneNumber?: string;
+}
+
+// @public
+export type Poller = () => Promise;
+
+// @public (undocumented)
+export type PollingCollector = AutoCollector<
+ 'SingleValueAutoCollector',
+ 'PollingCollector',
+ string,
+ PollingOutputValue
+>;
+
+// @public (undocumented)
+export type PollingField = {
+ type: 'POLLING';
+ key: string;
+ pollInterval: number;
+ pollRetries: number;
+ pollChallengeStatus?: boolean;
+ challenge?: string;
+};
+
+// @public (undocumented)
+export interface PollingOutputValue {
+ // (undocumented)
+ challenge?: string;
+ // (undocumented)
+ pollChallengeStatus?: boolean;
+ // (undocumented)
+ pollInterval: number;
+ // (undocumented)
+ pollRetries: number;
+ // (undocumented)
+ retriesRemaining?: number;
+}
+
+// @public (undocumented)
+export type PollingStatus = PollingStatusContinue | PollingStatusChallenge;
+
+// @public (undocumented)
+export type PollingStatusChallenge =
+ | PollingStatusChallengeComplete
+ | 'expired'
+ | 'timedOut'
+ | 'error';
+
+// @public (undocumented)
+export type PollingStatusChallengeComplete =
+ | 'approved'
+ | 'denied'
+ | 'continue'
+ | CustomPollingStatus;
+
+// @public (undocumented)
+export type PollingStatusContinue = 'continue' | 'timedOut';
+
+// @public (undocumented)
+export type ProtectCollector = AutoCollector<
+ 'SingleValueAutoCollector',
+ 'ProtectCollector',
+ string,
+ ProtectOutputValue
+>;
+
+// @public (undocumented)
+export type ProtectField = {
+ type: 'PROTECT';
+ key: string;
+ behavioralDataCollection: boolean;
+ universalDeviceIdentification: boolean;
+};
+
+// @public
+export interface ProtectOutputValue {
+ // (undocumented)
+ behavioralDataCollection: boolean;
+ // (undocumented)
+ universalDeviceIdentification: boolean;
+}
+
+// @public
+export interface QrCodeCollector extends NoValueCollectorBase<'QrCodeCollector'> {
+ // (undocumented)
+ output: NoValueCollectorBase<'QrCodeCollector'>['output'] & {
+ src: string;
+ };
+}
+
+// @public (undocumented)
+export type QrCodeField = {
+ type: 'QR_CODE';
+ key: string;
+ content: string;
+ fallbackText?: string;
+};
+
+// @public
+export interface ReadOnlyCollector extends NoValueCollectorBase<'ReadOnlyCollector'> {
+ // (undocumented)
+ output: NoValueCollectorBase<'ReadOnlyCollector'>['output'] & {
+ content: string;
+ };
+}
+
+// @public (undocumented)
+export type ReadOnlyField = {
+ type: 'LABEL';
+ content: string;
+ richContent?: RichContent;
+ key?: string;
+};
+
+// @public (undocumented)
+export type ReadOnlyFields = ReadOnlyField | QrCodeField | AgreementField;
+
+// @public (undocumented)
+export type RedirectField = {
+ type: 'SOCIAL_LOGIN_BUTTON';
+ key: string;
+ label: string;
+ links: Links;
+};
+
+// @public (undocumented)
+export type RedirectFields = RedirectField;
+
+export { RequestMiddleware };
+
+// @public
+export type RichContent = {
+ content: string;
+ replacements?: Record;
+};
+
+// @public
+export interface RichContentLink {
+ // (undocumented)
+ href: string;
+ // (undocumented)
+ key: string;
+ // (undocumented)
+ target?: '_self' | '_blank';
+ // (undocumented)
+ type: 'link';
+ // (undocumented)
+ value: string;
+}
+
+// @public
+export type RichContentReplacement = {
+ type: 'link';
+ value: string;
+ href: string;
+ target?: '_self' | '_blank';
+};
+
+// @public
+export interface RichTextCollector extends NoValueCollectorBase<'RichTextCollector'> {
+ // (undocumented)
+ output: NoValueCollectorBase<'RichTextCollector'>['output'] & {
+ content: string;
+ richContent: CollectorRichContent;
+ };
+}
+
+// @public (undocumented)
+export interface SelectorOption {
+ // (undocumented)
+ label: string;
+ // (undocumented)
+ value: string;
+}
+
+// @public (undocumented)
+export type SingleCheckboxField = {
+ type: 'SINGLE_CHECKBOX';
+ inputType: 'BOOLEAN';
+ key: string;
+ label: string;
+ required: boolean;
+ validation?: {
+ errorMessage: string;
+ };
+};
+
+// @public (undocumented)
+export type SingleSelectCollector = SingleSelectCollectorWithValue<'SingleSelectCollector'>;
+
+// @public (undocumented)
+export interface SingleSelectCollectorNoValue {
+ // (undocumented)
+ category: 'SingleValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: string | number | boolean;
+ type: string;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ options: SelectorOption[];
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export interface SingleSelectCollectorWithValue {
+ // (undocumented)
+ category: 'SingleValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: string | number | boolean;
+ type: string;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ value: string | number | boolean;
+ options: SelectorOption[];
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type SingleSelectField = {
+ inputType: 'SINGLE_SELECT';
+ key: string;
+ label: string;
+ options: {
+ label: string;
+ value: string;
+ }[];
+ required?: boolean;
+ type: 'RADIO' | 'DROPDOWN';
+};
+
+// @public (undocumented)
+export type SingleValueAutoCollector = AutoCollector<
+ 'SingleValueAutoCollector',
+ 'SingleValueAutoCollector',
+ string
+>;
+
+// @public (undocumented)
+export type SingleValueAutoCollectorTypes =
+ | 'SingleValueAutoCollector'
+ | 'ProtectCollector'
+ | 'PollingCollector';
+
+// @public
+export type SingleValueCollector =
+ | SingleValueCollectorWithValue
+ | SingleValueCollectorNoValue;
+
+// @public (undocumented)
+export interface SingleValueCollectorNoValue {
+ // (undocumented)
+ category: 'SingleValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: string | number | boolean;
+ type: string;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type SingleValueCollectors =
+ | ValidatedPasswordCollector
+ | PasswordCollector
+ | SingleSelectCollector
+ | TextCollector
+ | ValidatedTextCollector
+ | ValidatedBooleanCollector
+ | SingleValueCollectorWithValue<'SingleValueCollector'>;
+
+// @public
+export type SingleValueCollectorTypes =
+ | 'PasswordCollector'
+ | 'ValidatedPasswordCollector'
+ | 'ValidatedBooleanCollector'
+ | 'SingleValueCollector'
+ | 'SingleSelectCollector'
+ | 'SingleSelectObjectCollector'
+ | 'TextCollector'
+ | 'ValidatedTextCollector';
+
+// @public (undocumented)
+export interface SingleValueCollectorWithValue {
+ // (undocumented)
+ category: 'SingleValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: V;
+ type: string;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ value: V;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type SingleValueFields =
+ | StandardField
+ | PasswordField
+ | ValidatedField
+ | SingleCheckboxField
+ | SingleSelectField
+ | ProtectField;
+
+// @public (undocumented)
+export type StandardField = {
+ type: 'TEXT' | 'SUBMIT_BUTTON' | 'FLOW_BUTTON' | 'FLOW_LINK' | 'BUTTON';
+ key: string;
+ label: string;
+ required?: boolean;
+};
+
+// @public (undocumented)
+export interface StartNode {
+ // (undocumented)
+ cache: null;
+ // (undocumented)
+ client: {
+ status: 'start';
+ };
+ // (undocumented)
+ error: DaVinciError | null;
+ // (undocumented)
+ server: {
+ status: 'start';
+ };
+ // (undocumented)
+ status: 'start';
+}
+
+// @public (undocumented)
+export interface StartOptions {
+ // (undocumented)
+ query: Query;
+}
+
+// @public (undocumented)
+export type SubmitCollector = ActionCollectorNoUrl<'SubmitCollector'>;
+
+// @public (undocumented)
+export interface SuccessNode {
+ // (undocumented)
+ cache: {
+ key: string;
+ };
+ // (undocumented)
+ client: {
+ authorization?: {
+ code?: string;
+ state?: string;
+ };
+ status: 'success';
+ } | null;
+ // (undocumented)
+ error: null;
+ // (undocumented)
+ httpStatus: number;
+ // (undocumented)
+ server: {
+ _links?: Links;
+ eventName?: string;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ href?: string;
+ session?: string;
+ status: 'success';
+ };
+ // (undocumented)
+ status: 'success';
+}
+
+// @public (undocumented)
+export type TextCollector = SingleValueCollectorWithValue<'TextCollector'>;
+
+// @public (undocumented)
+export interface ThrownQueryError {
+ // (undocumented)
+ error: FetchBaseQueryError;
+ // (undocumented)
+ isHandledError: boolean;
+ // (undocumented)
+ meta: FetchBaseQueryMeta;
+}
+
+// @public
+export type UnknownCollector = {
+ category: 'UnknownCollector';
+ error: string | null;
+ type: 'UnknownCollector';
+ id: string;
+ name: string;
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ };
+};
+
+// @public (undocumented)
+export type UnknownField = Record;
+
+// @public (undocumented)
+export const updateCollectorValues: ActionCreatorWithPayload<
+ {
+ id: string;
+ value:
+ | string
+ | string[]
+ | boolean
+ | PhoneNumberInputValue
+ | PhoneNumberExtensionInputValue
+ | FidoRegistrationInputValue
+ | FidoAuthenticationInputValue;
+ index?: number;
+ },
+ string
+>;
+
+// @public
+export type Updater = (
+ value: CollectorValueType,
+ index?: number,
+) => InternalErrorResponse | null;
+
+// @public (undocumented)
+export type ValidatedBooleanCollector = ValidatedSingleValueCollectorWithValue<
+ 'ValidatedBooleanCollector',
+ boolean
+>;
+
+// @public (undocumented)
+export type ValidatedField = {
+ type: 'TEXT';
+ key: string;
+ label: string;
+ required: boolean;
+ validation: {
+ regex: string;
+ errorMessage: string;
+ };
+};
+
+// @public (undocumented)
+export interface ValidatedPasswordCollector {
+ // (undocumented)
+ category: 'SingleValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: string | number | boolean;
+ type: string;
+ validation: PasswordPolicy;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ verify: boolean;
+ };
+ // (undocumented)
+ type: 'ValidatedPasswordCollector';
+}
+
+// @public (undocumented)
+export interface ValidatedSingleValueCollectorWithValue<
+ T extends SingleValueCollectorTypes,
+ V = string,
+> {
+ // (undocumented)
+ category: 'ValidatedSingleValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ type: string;
+ validation: (ValidationRequired | ValidationRegex)[];
+ value: V;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ value: V;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type ValidatedTextCollector = ValidatedSingleValueCollectorWithValue<'TextCollector'>;
+
+// @public (undocumented)
+export interface ValidationPhoneNumber {
+ // (undocumented)
+ message: string;
+ // (undocumented)
+ rule: boolean;
+ // (undocumented)
+ type: 'validatePhoneNumber';
+}
+
+// @public (undocumented)
+export interface ValidationRegex {
+ // (undocumented)
+ message: string;
+ // (undocumented)
+ rule: string;
+ // (undocumented)
+ type: 'regex';
+}
+
+// @public (undocumented)
+export interface ValidationRequired {
+ // (undocumented)
+ message: string;
+ // (undocumented)
+ rule: boolean;
+ // (undocumented)
+ type: 'required';
+}
+
+// @public
+export type Validator<
+ T =
+ | ValidatedTextCollector
+ | ValidatedBooleanCollector
+ | ValidatedPasswordCollector
+ | ObjectValueCollectors
+ | MultiValueCollectors
+ | AutoCollectors,
+> = (value: CollectorValueType) =>
+ | string[]
+ | {
+ error: {
+ message: string;
+ type: string;
+ };
+ type: string;
+ };
+
+// (No @packageDocumentation comment for this package)
+```
diff --git a/packages/davinci-client/api-report/davinci-client.types.api.md b/packages/davinci-client/api-report/davinci-client.types.api.md
index 87ac710a3b..19bfe119c0 100644
--- a/packages/davinci-client/api-report/davinci-client.types.api.md
+++ b/packages/davinci-client/api-report/davinci-client.types.api.md
@@ -1,2040 +1,2626 @@
-## API Report File for "@forgerock/davinci-client"
-
-> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
-
-```ts
-
-import { ActionCreatorWithPayload } from '@reduxjs/toolkit';
-import { ActionTypes } from '@forgerock/sdk-request-middleware';
-import type { AsyncLegacyConfigOptions } from '@forgerock/sdk-types';
-import { BaseQueryFn } from '@reduxjs/toolkit/query';
-import { CustomLogger } from '@forgerock/sdk-logger';
-import { FetchArgs } from '@reduxjs/toolkit/query';
-import { FetchBaseQueryError } from '@reduxjs/toolkit/query';
-import { FetchBaseQueryMeta } from '@reduxjs/toolkit/query';
-import { GenericError } from '@forgerock/sdk-types';
-import { LogLevel } from '@forgerock/sdk-logger';
-import { MutationDefinition } from '@reduxjs/toolkit/query';
-import type { MutationResultSelectorResult } from '@reduxjs/toolkit/query';
-import { QueryDefinition } from '@reduxjs/toolkit/query';
-import { QueryStatus } from '@reduxjs/toolkit/query';
-import { Reducer } from '@reduxjs/toolkit';
-import { RequestMiddleware } from '@forgerock/sdk-request-middleware';
-import { RootState } from '@reduxjs/toolkit/query';
-import { SerializedError } from '@reduxjs/toolkit';
-import { Unsubscribe } from '@reduxjs/toolkit';
-
-// @public (undocumented)
-export type ActionCollector = ActionCollectorNoUrl | ActionCollectorWithUrl;
-
-// @public (undocumented)
-export interface ActionCollectorNoUrl {
- // (undocumented)
- category: 'ActionCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type ActionCollectors = ActionCollectorWithUrl<'IdpCollector'> | ActionCollectorNoUrl<'ActionCollector'> | ActionCollectorNoUrl<'FlowCollector'> | ActionCollectorNoUrl<'SubmitCollector'>;
-
-// @public
-export type ActionCollectorTypes = 'FlowCollector' | 'SubmitCollector' | 'IdpCollector' | 'ActionCollector';
-
-// @public (undocumented)
-export interface ActionCollectorWithUrl {
- // (undocumented)
- category: 'ActionCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- url?: string | null;
- };
- // (undocumented)
- type: T;
-}
-
-export { ActionTypes }
-
-// @public (undocumented)
-export interface AgreementCollector extends NoValueCollectorBase<'AgreementCollector'> {
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- titleEnabled: boolean;
- title: string;
- agreement: {
- id: string;
- useDynamicAgreement: boolean;
- };
- enabled: boolean;
- };
-}
-
-// @public (undocumented)
-export type AgreementField = {
- type: 'AGREEMENT';
- key: string;
- content: string;
- titleEnabled: boolean;
- title: string;
- agreement: {
- id: string;
- useDynamicAgreement: boolean;
- };
- enabled: boolean;
-};
-
-// @public (undocumented)
-export interface AssertionValue extends Omit {
- // (undocumented)
- rawId: string;
- // (undocumented)
- response: {
- clientDataJSON: string;
- authenticatorData: string;
- signature: string;
- userHandle: string | null;
- };
-}
-
-// @public (undocumented)
-export interface AttestationValue extends Omit {
- // (undocumented)
- rawId: string;
- // (undocumented)
- response: {
- clientDataJSON: string;
- attestationObject: string;
- };
-}
-
-// @public (undocumented)
-export interface AutoCollector> {
- // (undocumented)
- category: C;
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: IV;
- type: string;
- validation?: ValidationRequired[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- type: string;
- config: OV;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type AutoCollectorCategories = 'SingleValueAutoCollector' | 'ObjectValueAutoCollector';
-
-// @public (undocumented)
-export type AutoCollectors = ProtectCollector | FidoRegistrationCollector | FidoAuthenticationCollector | PollingCollector | SingleValueAutoCollector | ObjectValueAutoCollector;
-
-// @public (undocumented)
-export type AutoCollectorTypes = SingleValueAutoCollectorTypes | ObjectValueAutoCollectorTypes;
-
-// @public (undocumented)
-export interface CollectorErrors {
- // (undocumented)
- code: string;
- // (undocumented)
- message: string;
- // (undocumented)
- target: string;
-}
-
-// @public (undocumented)
-export type CollectorInputTypes = string | string[] | boolean | PhoneNumberInputValue | PhoneNumberExtensionInputValue | FidoRegistrationInputValue | FidoAuthenticationInputValue;
-
-// @public
-export interface CollectorRichContent {
- // (undocumented)
- content: string;
- // (undocumented)
- replacements: RichContentLink[];
-}
-
-// @public (undocumented)
-export type Collectors = FlowCollector | PasswordCollector | ValidatedPasswordCollector | TextCollector | ValidatedBooleanCollector | SingleSelectCollector | IdpCollector | SubmitCollector | ActionCollector<'ActionCollector'> | SingleValueCollector<'SingleValueCollector'> | MultiSelectCollector | DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | PhoneNumberExtensionCollector | ReadOnlyCollector | RichTextCollector | ValidatedTextCollector | ProtectCollector | PollingCollector | FidoRegistrationCollector | FidoAuthenticationCollector | QrCodeCollector | AgreementCollector | UnknownCollector;
-
-// @public
-export type CollectorValueType = T extends {
- type: 'PasswordCollector';
-} ? string : T extends {
- type: 'ValidatedPasswordCollector';
-} ? string : T extends {
- type: 'TextCollector';
- category: 'SingleValueCollector';
-} ? string : T extends {
- type: 'TextCollector';
- category: 'ValidatedSingleValueCollector';
-} ? string : T extends {
- type: 'ValidatedBooleanCollector';
-} ? boolean : T extends {
- type: 'SingleSelectCollector';
-} ? string : T extends {
- type: 'MultiSelectCollector';
-} ? string[] : T extends {
- type: 'DeviceRegistrationCollector';
-} ? string : T extends {
- type: 'DeviceAuthenticationCollector';
-} ? string : T extends {
- type: 'PhoneNumberCollector';
-} ? PhoneNumberInputValue : T extends {
- type: 'PhoneNumberExtensionCollector';
-} ? PhoneNumberExtensionInputValue : T extends {
- type: 'FidoRegistrationCollector';
-} ? FidoRegistrationInputValue : T extends {
- type: 'FidoAuthenticationCollector';
-} ? FidoAuthenticationInputValue : T extends {
- category: 'SingleValueCollector';
-} ? string : T extends {
- category: 'ValidatedSingleValueCollector';
-} ? string : T extends {
- category: 'MultiValueCollector';
-} ? string[] : CollectorInputTypes;
-
-// @public (undocumented)
-export type ComplexValueFields = DeviceAuthenticationField | DeviceRegistrationField | PhoneNumberField | PhoneNumberExtensionField | FidoRegistrationField | FidoAuthenticationField | PollingField;
-
-// @public (undocumented)
-export interface ContinueNode {
- // (undocumented)
- cache: {
- key: string;
- };
- // (undocumented)
- client: {
- action: string;
- collectors: Collectors[];
- description?: string;
- name?: string;
- status: 'continue';
- };
- // (undocumented)
- error: null;
- // (undocumented)
- httpStatus: number;
- // (undocumented)
- server: {
- _links?: Links;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- href?: string;
- eventName?: string;
- status: 'continue';
- };
- // (undocumented)
- status: 'continue';
-}
-
-export { CustomLogger }
-
-// @public
-export type CustomPollingStatus = string & {};
-
-// @public
-export function davinci(input: {
- config: DaVinciConfig;
- requestMiddleware?: RequestMiddleware[];
- logger?: {
- level: LogLevel;
- custom?: CustomLogger;
- };
-}): Promise<{
- subscribe: (listener: () => void) => Unsubscribe;
- externalIdp: () => (() => Promise);
- flow: (action: DaVinciAction) => InitFlow;
- next: (args?: DaVinciRequest) => Promise;
- resume: (input: {
- continueToken: string;
- }) => Promise;
- start: (options?: StartOptions | undefined) => Promise;
- update: (collector: T) => Updater;
- validate: (collector: SingleValueCollectors | ObjectValueCollectors | MultiValueCollectors | AutoCollectors) => Validator;
- pollStatus: (collector: PollingCollector) => Poller;
- getClient: () => {
- status: "start";
- } | {
- action: string;
- collectors: Collectors[];
- description?: string;
- name?: string;
- status: "continue";
- } | {
- action: string;
- collectors: Collectors[];
- description?: string;
- name?: string;
- status: "error";
- } | {
- authorization?: {
- code?: string;
- state?: string;
- };
- status: "success";
- } | {
- status: "failure";
- } | null;
- getCollectors: () => Collectors[];
- getError: () => DaVinciError | null;
- getErrorCollectors: () => CollectorErrors[];
- getNode: () => ContinueNode | ErrorNode | StartNode | SuccessNode | FailureNode;
- getServer: () => {
- status: "start";
- } | {
- _links?: Links;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- href?: string;
- eventName?: string;
- status: "continue";
- } | {
- _links?: Links;
- eventName?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- status: "error";
- } | {
- _links?: Links;
- eventName?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- href?: string;
- session?: string;
- status: "success";
- } | {
- _links?: Links;
- eventName?: string;
- href?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- status: "failure";
- } | null;
- cache: {
- getLatestResponse: () => ((state: RootState< {
- flow: MutationDefinition, never, unknown, "davinci", any>;
- next: MutationDefinition, never, unknown, "davinci", any>;
- start: MutationDefinition | undefined, BaseQueryFn, never, unknown, "davinci", unknown>;
- resume: QueryDefinition< {
- serverInfo: ContinueNode["server"];
- continueToken: string;
- }, BaseQueryFn, never, unknown, "davinci", unknown>;
- poll: MutationDefinition< {
- endpoint: string;
- interactionId: string;
- }, BaseQueryFn, never, unknown, "davinci", unknown>;
- }, never, "davinci">) => ({
- requestId?: undefined;
- status: QueryStatus.uninitialized;
- data?: undefined;
- error?: undefined;
- endpointName?: string;
- startedTimeStamp?: undefined;
- fulfilledTimeStamp?: undefined;
- } & {
- status: QueryStatus.uninitialized;
- isUninitialized: true;
- isLoading: false;
- isSuccess: false;
- isError: false;
- }) | ({
- status: QueryStatus.fulfilled;
- } & Omit<{
- requestId: string;
- data?: unknown;
- error?: SerializedError | FetchBaseQueryError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- }, "data" | "fulfilledTimeStamp"> & Required> & {
- error: undefined;
- } & {
- status: QueryStatus.fulfilled;
- isUninitialized: false;
- isLoading: false;
- isSuccess: true;
- isError: false;
- }) | ({
- status: QueryStatus.pending;
- } & {
- requestId: string;
- data?: unknown;
- error?: SerializedError | FetchBaseQueryError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- } & {
- data?: undefined;
- } & {
- status: QueryStatus.pending;
- isUninitialized: false;
- isLoading: true;
- isSuccess: false;
- isError: false;
- }) | ({
- status: QueryStatus.rejected;
- } & Omit<{
- requestId: string;
- data?: unknown;
- error?: SerializedError | FetchBaseQueryError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- }, "error"> & Required> & {
- status: QueryStatus.rejected;
- isUninitialized: false;
- isLoading: false;
- isSuccess: false;
- isError: true;
- })) | {
- error: {
- message: string;
- type: string;
- };
- };
- getResponseWithId: (requestId: string) => ((state: RootState< {
- flow: MutationDefinition, never, unknown, "davinci", any>;
- next: MutationDefinition, never, unknown, "davinci", any>;
- start: MutationDefinition | undefined, BaseQueryFn, never, unknown, "davinci", unknown>;
- resume: QueryDefinition< {
- serverInfo: ContinueNode["server"];
- continueToken: string;
- }, BaseQueryFn, never, unknown, "davinci", unknown>;
- poll: MutationDefinition< {
- endpoint: string;
- interactionId: string;
- }, BaseQueryFn, never, unknown, "davinci", unknown>;
- }, never, "davinci">) => ({
- requestId?: undefined;
- status: QueryStatus.uninitialized;
- data?: undefined;
- error?: undefined;
- endpointName?: string;
- startedTimeStamp?: undefined;
- fulfilledTimeStamp?: undefined;
- } & {
- status: QueryStatus.uninitialized;
- isUninitialized: true;
- isLoading: false;
- isSuccess: false;
- isError: false;
- }) | ({
- status: QueryStatus.fulfilled;
- } & Omit<{
- requestId: string;
- data?: unknown;
- error?: SerializedError | FetchBaseQueryError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- }, "data" | "fulfilledTimeStamp"> & Required> & {
- error: undefined;
- } & {
- status: QueryStatus.fulfilled;
- isUninitialized: false;
- isLoading: false;
- isSuccess: true;
- isError: false;
- }) | ({
- status: QueryStatus.pending;
- } & {
- requestId: string;
- data?: unknown;
- error?: SerializedError | FetchBaseQueryError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- } & {
- data?: undefined;
- } & {
- status: QueryStatus.pending;
- isUninitialized: false;
- isLoading: true;
- isSuccess: false;
- isError: false;
- }) | ({
- status: QueryStatus.rejected;
- } & Omit<{
- requestId: string;
- data?: unknown;
- error?: SerializedError | FetchBaseQueryError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- }, "error"> & Required> & {
- status: QueryStatus.rejected;
- isUninitialized: false;
- isLoading: false;
- isSuccess: false;
- isError: true;
- })) | {
- error: {
- message: string;
- type: string;
- };
- };
- };
-}>;
-
-// @public
-export interface DaVinciAction {
- // (undocumented)
- action: string;
-}
-
-// @public
-export interface DaVinciBaseResponse {
- // (undocumented)
- capabilityName?: string;
- // (undocumented)
- companyId?: string;
- // (undocumented)
- connectionId?: string;
- // (undocumented)
- connectorId?: string;
- // (undocumented)
- id?: string;
- // (undocumented)
- interactionId?: string;
- // (undocumented)
- interactionToken?: string;
- // (undocumented)
- isResponseCompatibleWithMobileAndWebSdks?: boolean;
- // (undocumented)
- status?: string;
-}
-
-// @public
-export type DaVinciCacheEntry = {
- data?: DaVinciBaseResponse;
- error?: {
- data: DaVinciBaseResponse;
- status: number;
- };
-} & {
- data?: any;
- error?: any;
-} & MutationResultSelectorResult;
-
-// @public (undocumented)
-export type DavinciClient = Awaited>;
-
-// @public (undocumented)
-export interface DaVinciConfig extends AsyncLegacyConfigOptions {
- // (undocumented)
- responseType?: string;
-}
-
-// @public (undocumented)
-export interface DaVinciError extends Omit {
- // (undocumented)
- collectors?: CollectorErrors[];
- // (undocumented)
- internalHttpStatus?: number;
- // (undocumented)
- message: string;
- // (undocumented)
- status: 'error' | 'failure' | 'unknown';
-}
-
-// @public (undocumented)
-export interface DaVinciErrorCacheEntry {
- // (undocumented)
- endpointName: 'next' | 'flow' | 'start';
- // (undocumented)
- error: {
- data: T;
- };
- // (undocumented)
- fulfilledTimeStamp: number;
- // (undocumented)
- isError: boolean;
- // (undocumented)
- isLoading: boolean;
- // (undocumented)
- isSuccess: boolean;
- // (undocumented)
- isUninitialized: boolean;
- // (undocumented)
- requestId: string;
- // (undocumented)
- startedTimeStamp: number;
- // (undocumented)
- status: 'fulfilled' | 'pending' | 'rejected';
-}
-
-// @public (undocumented)
-export interface DavinciErrorResponse extends DaVinciBaseResponse {
- // (undocumented)
- cause?: string | null;
- // (undocumented)
- code: string | number;
- // (undocumented)
- details?: ErrorDetail[];
- // (undocumented)
- doNotSendToOE?: boolean;
- // (undocumented)
- error?: {
- code?: string;
- message?: string;
- };
- // (undocumented)
- errorCategory?: string;
- // (undocumented)
- errorMessage?: string;
- // (undocumented)
- expected?: boolean;
- // (undocumented)
- httpResponseCode: number;
- // (undocumented)
- isErrorCustomized?: boolean;
- // (undocumented)
- message: string;
- // (undocumented)
- metricAttributes?: {
- [key: string]: unknown;
- };
-}
-
-// @public (undocumented)
-export interface DaVinciFailureResponse extends DaVinciBaseResponse {
- // (undocumented)
- error?: {
- code?: string;
- message?: string;
- [key: string]: unknown;
- };
-}
-
-// @public (undocumented)
-export type DaVinciField = ComplexValueFields | MultiValueFields | ReadOnlyFields | RedirectFields | SingleValueFields;
-
-// @public
-export interface DaVinciNextResponse extends DaVinciBaseResponse {
- // (undocumented)
- eventName?: string;
- // (undocumented)
- form?: {
- name?: string;
- description?: string;
- components?: {
- fields?: DaVinciField[];
- };
- };
- // (undocumented)
- formData?: {
- value?: {
- [key: string]: string;
- };
- };
- // (undocumented)
- _links?: Links;
-}
-
-// @public
-export interface DaVinciPollResponse extends DaVinciBaseResponse {
- // (undocumented)
- eventName?: string;
- // (undocumented)
- _links?: Links;
- // (undocumented)
- success?: boolean;
-}
-
-// @public (undocumented)
-export interface DaVinciRequest {
- // (undocumented)
- eventName: string;
- // (undocumented)
- id: string;
- // (undocumented)
- interactionId: string;
- // (undocumented)
- parameters: {
- eventType: 'submit' | 'action' | 'polling';
- data: {
- actionKey: string;
- formData?: Record;
- };
- };
-}
-
-// @public (undocumented)
-export interface DaVinciSuccessResponse extends DaVinciBaseResponse {
- // (undocumented)
- authorizeResponse?: OAuthDetails;
- // (undocumented)
- environment: {
- id: string;
- [key: string]: unknown;
- };
- // (undocumented)
- _links?: Links;
- // (undocumented)
- resetCookie?: boolean;
- // (undocumented)
- session?: {
- id?: string;
- [key: string]: unknown;
- };
- // (undocumented)
- sessionToken?: string;
- // (undocumented)
- sessionTokenMaxAge?: number;
- // (undocumented)
- status: string;
- // (undocumented)
- subFlowSettings?: {
- cssLinks?: unknown[];
- cssUrl?: unknown;
- jsLinks?: unknown[];
- loadingScreenSettings?: unknown;
- reactSkUrl?: unknown;
- };
- // (undocumented)
- success: true;
-}
-
-// @public (undocumented)
-export type DeviceAuthenticationCollector = ObjectOptionsCollectorWithObjectValue<'DeviceAuthenticationCollector', DeviceValue>;
-
-// @public (undocumented)
-export type DeviceAuthenticationField = {
- type: 'DEVICE_AUTHENTICATION';
- key: string;
- label: string;
- options: {
- type: string;
- iconSrc: string;
- title: string;
- id: string;
- default: boolean;
- description: string;
- }[];
- required: boolean;
-};
-
-// @public (undocumented)
-export interface DeviceOptionNoDefault {
- // (undocumented)
- content: string;
- // (undocumented)
- key: string;
- // (undocumented)
- label: string;
- // (undocumented)
- type: string;
- // (undocumented)
- value: string;
-}
-
-// @public (undocumented)
-export interface DeviceOptionWithDefault {
- // (undocumented)
- content: string;
- // (undocumented)
- default: boolean;
- // (undocumented)
- key: string;
- // (undocumented)
- label: string;
- // (undocumented)
- type: string;
- // (undocumented)
- value: string;
-}
-
-// @public (undocumented)
-export type DeviceRegistrationCollector = ObjectOptionsCollectorWithStringValue<'DeviceRegistrationCollector', string>;
-
-// @public (undocumented)
-export type DeviceRegistrationField = {
- type: 'DEVICE_REGISTRATION';
- key: string;
- label: string;
- options: {
- type: string;
- iconSrc: string;
- title: string;
- description: string;
- }[];
- required: boolean;
-};
-
-// @public (undocumented)
-export interface DeviceValue {
- // (undocumented)
- id: string;
- // (undocumented)
- type: string;
- // (undocumented)
- value: string;
-}
-
-// @public (undocumented)
-export interface ErrorDetail {
- // (undocumented)
- message?: string;
- // (undocumented)
- rawResponse?: {
- _embedded?: {
- users?: Array;
- };
- code?: string;
- count?: number;
- details?: NestedErrorDetails[];
- id?: string;
- message?: string;
- size?: number;
- userFilter?: string;
- [key: string]: unknown;
- };
- // (undocumented)
- statusCode?: number;
-}
-
-// @public (undocumented)
-export interface ErrorNode {
- // (undocumented)
- cache: {
- key: string;
- };
- // (undocumented)
- client: {
- action: string;
- collectors: Collectors[];
- description?: string;
- name?: string;
- status: 'error';
- };
- // (undocumented)
- error: DaVinciError;
- // (undocumented)
- httpStatus: number;
- // (undocumented)
- server: {
- _links?: Links;
- eventName?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- status: 'error';
- } | null;
- // (undocumented)
- status: 'error';
-}
-
-// @public (undocumented)
-export interface FailureNode {
- // (undocumented)
- cache: {
- key: string;
- };
- // (undocumented)
- client: {
- status: 'failure';
- };
- // (undocumented)
- error: DaVinciError;
- // (undocumented)
- httpStatus: number;
- // (undocumented)
- server: {
- _links?: Links;
- eventName?: string;
- href?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- status: 'failure';
- } | null;
- // (undocumented)
- status: 'failure';
-}
-
-// @public (undocumented)
-export type FidoAuthenticationCollector = AutoCollector<'ObjectValueAutoCollector', 'FidoAuthenticationCollector', FidoAuthenticationInputValue, FidoAuthenticationOutputValue>;
-
-// @public (undocumented)
-export type FidoAuthenticationField = {
- type: 'FIDO2';
- key: string;
- label: string;
- publicKeyCredentialRequestOptions: FidoAuthenticationOptions;
- action: 'AUTHENTICATE';
- trigger: string;
- required: boolean;
-};
-
-// @public (undocumented)
-export interface FidoAuthenticationInputValue {
- // (undocumented)
- assertionValue?: AssertionValue;
-}
-
-// @public (undocumented)
-export interface FidoAuthenticationOptions extends Omit {
- // (undocumented)
- allowCredentials?: {
- id: number[];
- transports?: AuthenticatorTransport[];
- type: PublicKeyCredentialType;
- }[];
- // (undocumented)
- challenge: number[];
-}
-
-// @public (undocumented)
-export interface FidoAuthenticationOutputValue {
- // (undocumented)
- action: 'AUTHENTICATE';
- // (undocumented)
- publicKeyCredentialRequestOptions: FidoAuthenticationOptions;
- // (undocumented)
- trigger: string;
-}
-
-// @public (undocumented)
-export interface FidoClient {
- authenticate: (options: FidoAuthenticationOptions) => Promise;
- register: (options: FidoRegistrationOptions) => Promise;
-}
-
-// @public (undocumented)
-export type FidoRegistrationCollector = AutoCollector<'ObjectValueAutoCollector', 'FidoRegistrationCollector', FidoRegistrationInputValue, FidoRegistrationOutputValue>;
-
-// @public (undocumented)
-export type FidoRegistrationField = {
- type: 'FIDO2';
- key: string;
- label: string;
- publicKeyCredentialCreationOptions: FidoRegistrationOptions;
- action: 'REGISTER';
- trigger: string;
- required: boolean;
-};
-
-// @public (undocumented)
-export interface FidoRegistrationInputValue {
- // (undocumented)
- attestationValue?: AttestationValue;
-}
-
-// @public (undocumented)
-export interface FidoRegistrationOptions extends Omit {
- // (undocumented)
- challenge: number[];
- // (undocumented)
- excludeCredentials?: {
- id: number[];
- transports?: AuthenticatorTransport[];
- type: PublicKeyCredentialType;
- }[];
- // (undocumented)
- pubKeyCredParams: {
- alg: string | number;
- type: PublicKeyCredentialType;
- }[];
- // (undocumented)
- user: {
- id: number[];
- name: string;
- displayName: string;
- };
-}
-
-// @public (undocumented)
-export interface FidoRegistrationOutputValue {
- // (undocumented)
- action: 'REGISTER';
- // (undocumented)
- publicKeyCredentialCreationOptions: FidoRegistrationOptions;
- // (undocumented)
- trigger: string;
-}
-
-// @public (undocumented)
-export type FlowCollector = ActionCollectorNoUrl<'FlowCollector'>;
-
-// @public (undocumented)
-export type FlowNode = ContinueNode | ErrorNode | StartNode | SuccessNode | FailureNode;
-
-// @public
-export type GetClient = StartNode['client'] | ContinueNode['client'] | ErrorNode['client'] | SuccessNode['client'] | FailureNode['client'];
-
-// @public (undocumented)
-export type IdpCollector = ActionCollectorWithUrl<'IdpCollector'>;
-
-// @public (undocumented)
-export type InferActionCollectorType = T extends 'IdpCollector' ? IdpCollector : T extends 'SubmitCollector' ? SubmitCollector : T extends 'FlowCollector' ? FlowCollector : ActionCollectorWithUrl<'ActionCollector'> | ActionCollectorNoUrl<'ActionCollector'>;
-
-// @public
-export type InferAutoCollectorType = T extends 'ProtectCollector' ? ProtectCollector : T extends 'PollingCollector' ? PollingCollector : T extends 'FidoRegistrationCollector' ? FidoRegistrationCollector : T extends 'FidoAuthenticationCollector' ? FidoAuthenticationCollector : T extends 'ObjectValueAutoCollector' ? ObjectValueAutoCollector : SingleValueAutoCollector;
-
-// @public
-export type InferMultiValueCollectorType = T extends 'MultiSelectCollector' ? MultiValueCollectorWithValue<'MultiSelectCollector'> : MultiValueCollectorWithValue<'MultiValueCollector'> | MultiValueCollectorNoValue<'MultiValueCollector'>;
-
-// @public
-export type InferNoValueCollectorType = T extends 'ReadOnlyCollector' ? ReadOnlyCollector : T extends 'RichTextCollector' ? RichTextCollector : T extends 'QrCodeCollector' ? QrCodeCollector : T extends 'AgreementCollector' ? AgreementCollector : NoValueCollectorBase<'NoValueCollector'>;
-
-// @public
-export type InferSingleValueCollectorType = T extends 'TextCollector' ? TextCollector : T extends 'SingleSelectCollector' ? SingleSelectCollector : T extends 'ValidatedTextCollector' ? ValidatedTextCollector : T extends 'PasswordCollector' ? PasswordCollector : T extends 'ValidatedPasswordCollector' ? ValidatedPasswordCollector : T extends 'ValidatedBooleanCollector' ? ValidatedBooleanCollector : SingleValueCollectorWithValue<'SingleValueCollector'> | SingleValueCollectorNoValue<'SingleValueCollector'>;
-
-// @public (undocumented)
-export type InferValueObjectCollectorType = T extends 'DeviceAuthenticationCollector' ? DeviceAuthenticationCollector : T extends 'DeviceRegistrationCollector' ? DeviceRegistrationCollector : T extends 'PhoneNumberCollector' ? PhoneNumberCollector : T extends 'PhoneNumberExtensionCollector' ? PhoneNumberExtensionCollector : ObjectOptionsCollectorWithObjectValue<'ObjectValueCollector'> | ObjectOptionsCollectorWithStringValue<'ObjectValueCollector'>;
-
-// @public (undocumented)
-export type InitFlow = () => Promise;
-
-// @public (undocumented)
-export interface InternalErrorResponse {
- // (undocumented)
- error: Omit & {
- message: string;
- };
- // (undocumented)
- type: 'internal_error';
-}
-
-// @public (undocumented)
-export interface Links {
- // (undocumented)
- [key: string]: {
- href?: string;
- };
-}
-
-export { LogLevel }
-
-// @public (undocumented)
-export type MultiSelectCollector = MultiValueCollectorWithValue<'MultiSelectCollector'>;
-
-// @public (undocumented)
-export type MultiSelectField = {
- inputType: 'MULTI_SELECT';
- key: string;
- label: string;
- options: {
- label: string;
- value: string;
- }[];
- required?: boolean;
- type: 'CHECKBOX' | 'COMBOBOX';
-};
-
-// @public (undocumented)
-export type MultiValueCollector = MultiValueCollectorWithValue | MultiValueCollectorNoValue;
-
-// @public (undocumented)
-export interface MultiValueCollectorNoValue {
- // (undocumented)
- category: 'MultiValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string[];
- type: string;
- validation: ValidationRequired[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- options: SelectorOption[];
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type MultiValueCollectors = MultiValueCollectorWithValue<'MultiValueCollector'> | MultiValueCollectorWithValue<'MultiSelectCollector'>;
-
-// @public
-export type MultiValueCollectorTypes = 'MultiSelectCollector' | 'MultiValueCollector';
-
-// @public (undocumented)
-export interface MultiValueCollectorWithValue {
- // (undocumented)
- category: 'MultiValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string[];
- type: string;
- validation: ValidationRequired[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value: string[];
- options: SelectorOption[];
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type MultiValueFields = MultiSelectField;
-
-// @public
-export interface NestedErrorDetails {
- // (undocumented)
- code?: string;
- // (undocumented)
- innerError?: {
- history?: string;
- unsatisfiedRequirements?: string[];
- failuresRemaining?: number;
- };
- // (undocumented)
- message?: string;
- // (undocumented)
- target?: string;
-}
-
-// @public
-export const nextCollectorValues: ActionCreatorWithPayload< {
-fields: DaVinciField[];
-formData: {
-value: Record;
-};
-}, string>;
-
-// @public
-export const nodeCollectorReducer: Reducer<(ValidatedTextCollector | ValidatedBooleanCollector | ValidatedPasswordCollector | DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | PhoneNumberExtensionCollector | ProtectCollector | FidoRegistrationCollector | FidoAuthenticationCollector | PollingCollector | TextCollector | PasswordCollector | SingleSelectCollector | UnknownCollector | IdpCollector | FlowCollector | SubmitCollector | ReadOnlyCollector | RichTextCollector | QrCodeCollector | AgreementCollector | ActionCollector<"ActionCollector"> | SingleValueCollector<"SingleValueCollector"> | MultiSelectCollector)[]> & {
- getInitialState: () => (ValidatedTextCollector | ValidatedBooleanCollector | ValidatedPasswordCollector | DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | PhoneNumberExtensionCollector | ProtectCollector | FidoRegistrationCollector | FidoAuthenticationCollector | PollingCollector | TextCollector | PasswordCollector | SingleSelectCollector | UnknownCollector | IdpCollector | FlowCollector | SubmitCollector | ReadOnlyCollector | RichTextCollector | QrCodeCollector | AgreementCollector | ActionCollector<"ActionCollector"> | SingleValueCollector<"SingleValueCollector"> | MultiSelectCollector)[];
-};
-
-// @public (undocumented)
-export type NodeStates = StartNode | ContinueNode | ErrorNode | SuccessNode | FailureNode;
-
-// @public (undocumented)
-export type NoValueCollector = InferNoValueCollectorType;
-
-// @public (undocumented)
-export interface NoValueCollectorBase {
- // (undocumented)
- category: 'NoValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type NoValueCollectors = NoValueCollectorBase<'NoValueCollector'> | ReadOnlyCollector | RichTextCollector | QrCodeCollector | AgreementCollector;
-
-// @public
-export type NoValueCollectorTypes = 'ReadOnlyCollector' | 'RichTextCollector' | 'NoValueCollector' | 'QrCodeCollector' | 'AgreementCollector';
-
-// @public
-export interface OAuthDetails {
- // (undocumented)
- [key: string]: unknown;
- // (undocumented)
- code?: string;
- // (undocumented)
- state?: string;
-}
-
-// @public (undocumented)
-export interface ObjectOptionsCollectorWithObjectValue, D = Record> {
- // (undocumented)
- category: 'ObjectValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: V;
- type: string;
- validation: ValidationRequired[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- options: DeviceOptionWithDefault[];
- value?: D | null;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export interface ObjectOptionsCollectorWithStringValue {
- // (undocumented)
- category: 'ObjectValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: V;
- type: string;
- validation: ValidationRequired[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- options: DeviceOptionNoDefault[];
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type ObjectValueAutoCollector = AutoCollector<'ObjectValueAutoCollector', 'ObjectValueAutoCollector', Record>;
-
-// @public (undocumented)
-export type ObjectValueAutoCollectorTypes = 'ObjectValueAutoCollector' | 'FidoRegistrationCollector' | 'FidoAuthenticationCollector';
-
-// @public (undocumented)
-export type ObjectValueCollector = ObjectOptionsCollectorWithObjectValue | ObjectOptionsCollectorWithStringValue | ObjectValueCollectorWithObjectValue;
-
-// @public (undocumented)
-export type ObjectValueCollectors = DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | PhoneNumberExtensionCollector | ObjectOptionsCollectorWithObjectValue<'ObjectSelectCollector'> | ObjectOptionsCollectorWithStringValue<'ObjectSelectCollector'>;
-
-// @public
-export type ObjectValueCollectorTypes = 'DeviceAuthenticationCollector' | 'DeviceRegistrationCollector' | 'PhoneNumberCollector' | 'PhoneNumberExtensionCollector' | 'ObjectOptionsCollector' | 'ObjectValueCollector' | 'ObjectSelectCollector';
-
-// @public (undocumented)
-export interface ObjectValueCollectorWithObjectValue, OV = Record> {
- // (undocumented)
- category: 'ObjectValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: IV;
- type: string;
- validation: (ValidationRequired | ValidationPhoneNumber)[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value?: OV | null;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export interface OutgoingQueryParams {
- // (undocumented)
- [key: string]: string | string[];
-}
-
-// @public (undocumented)
-export interface PasswordCollector {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- verify: boolean;
- };
- // (undocumented)
- type: 'PasswordCollector';
-}
-
-// @public
-export type PasswordField = {
- type: 'PASSWORD' | 'PASSWORD_VERIFY';
- key: string;
- label: string;
- required?: boolean;
- verify?: boolean;
- passwordPolicy?: PasswordPolicy;
-};
-
-// @public
-export interface PasswordPolicy {
- // (undocumented)
- createdAt?: string;
- // (undocumented)
- default?: boolean;
- // (undocumented)
- description?: string;
- // (undocumented)
- excludesCommonlyUsed?: boolean;
- // (undocumented)
- excludesProfileData?: boolean;
- // (undocumented)
- history?: {
- count?: number;
- retentionDays?: number;
- };
- // (undocumented)
- id?: string;
- // (undocumented)
- length?: {
- min?: number;
- max?: number;
- };
- // (undocumented)
- lockout?: {
- failureCount?: number;
- durationSeconds?: number;
- };
- // (undocumented)
- maxAgeDays?: number;
- // (undocumented)
- maxRepeatedCharacters?: number;
- // (undocumented)
- minAgeDays?: number;
- // (undocumented)
- minCharacters?: Record;
- // (undocumented)
- minUniqueCharacters?: number;
- // (undocumented)
- name?: string;
- // (undocumented)
- notSimilarToCurrent?: boolean;
- // (undocumented)
- populationCount?: number;
- // (undocumented)
- updatedAt?: string;
-}
-
-// @public (undocumented)
-export type PhoneNumberCollector = ObjectValueCollectorWithObjectValue<'PhoneNumberCollector', PhoneNumberInputValue, PhoneNumberOutputValue>;
-
-// @public (undocumented)
-export interface PhoneNumberExtensionCollector {
- // (undocumented)
- category: 'ObjectValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: PhoneNumberExtensionInputValue;
- type: string;
- validation: (ValidationRequired | ValidationPhoneNumber)[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- extensionLabel: string;
- value: PhoneNumberExtensionOutputValue;
- };
- // (undocumented)
- type: 'PhoneNumberExtensionCollector';
-}
-
-// @public (undocumented)
-export type PhoneNumberExtensionField = PhoneNumberField & {
- showExtension: boolean;
- extensionLabel: string;
-};
-
-// @public (undocumented)
-export interface PhoneNumberExtensionInputValue {
- // (undocumented)
- countryCode: string;
- // (undocumented)
- extension: string;
- // (undocumented)
- phoneNumber: string;
-}
-
-// @public (undocumented)
-export interface PhoneNumberExtensionOutputValue {
- // (undocumented)
- countryCode?: string;
- // (undocumented)
- extension?: string;
- // (undocumented)
- phoneNumber?: string;
-}
-
-// @public (undocumented)
-export type PhoneNumberField = {
- type: 'PHONE_NUMBER';
- key: string;
- label: string;
- required: boolean;
- defaultCountryCode: string | null;
- validatePhoneNumber: boolean;
-};
-
-// @public (undocumented)
-export interface PhoneNumberInputValue {
- // (undocumented)
- countryCode: string;
- // (undocumented)
- phoneNumber: string;
-}
-
-// @public (undocumented)
-export interface PhoneNumberOutputValue {
- // (undocumented)
- countryCode?: string;
- // (undocumented)
- phoneNumber?: string;
-}
-
-// @public
-export type Poller = () => Promise;
-
-// @public (undocumented)
-export type PollingCollector = AutoCollector<'SingleValueAutoCollector', 'PollingCollector', string, PollingOutputValue>;
-
-// @public (undocumented)
-export type PollingField = {
- type: 'POLLING';
- key: string;
- pollInterval: number;
- pollRetries: number;
- pollChallengeStatus?: boolean;
- challenge?: string;
-};
-
-// @public (undocumented)
-export interface PollingOutputValue {
- // (undocumented)
- challenge?: string;
- // (undocumented)
- pollChallengeStatus?: boolean;
- // (undocumented)
- pollInterval: number;
- // (undocumented)
- pollRetries: number;
- // (undocumented)
- retriesRemaining?: number;
-}
-
-// @public (undocumented)
-export type PollingStatus = PollingStatusContinue | PollingStatusChallenge;
-
-// @public (undocumented)
-export type PollingStatusChallenge = PollingStatusChallengeComplete | 'expired' | 'timedOut' | 'error';
-
-// @public (undocumented)
-export type PollingStatusChallengeComplete = 'approved' | 'denied' | 'continue' | CustomPollingStatus;
-
-// @public (undocumented)
-export type PollingStatusContinue = 'continue' | 'timedOut';
-
-// @public (undocumented)
-export type ProtectCollector = AutoCollector<'SingleValueAutoCollector', 'ProtectCollector', string, ProtectOutputValue>;
-
-// @public (undocumented)
-export type ProtectField = {
- type: 'PROTECT';
- key: string;
- behavioralDataCollection: boolean;
- universalDeviceIdentification: boolean;
-};
-
-// @public
-export interface ProtectOutputValue {
- // (undocumented)
- behavioralDataCollection: boolean;
- // (undocumented)
- universalDeviceIdentification: boolean;
-}
-
-// @public
-export interface QrCodeCollector extends NoValueCollectorBase<'QrCodeCollector'> {
- // (undocumented)
- output: NoValueCollectorBase<'QrCodeCollector'>['output'] & {
- src: string;
- };
-}
-
-// @public (undocumented)
-export type QrCodeField = {
- type: 'QR_CODE';
- key: string;
- content: string;
- fallbackText?: string;
-};
-
-// @public
-export interface ReadOnlyCollector extends NoValueCollectorBase<'ReadOnlyCollector'> {
- // (undocumented)
- output: NoValueCollectorBase<'ReadOnlyCollector'>['output'] & {
- content: string;
- };
-}
-
-// @public (undocumented)
-export type ReadOnlyField = {
- type: 'LABEL';
- content: string;
- richContent?: RichContent;
- key?: string;
-};
-
-// @public (undocumented)
-export type ReadOnlyFields = ReadOnlyField | QrCodeField | AgreementField;
-
-// @public (undocumented)
-export type RedirectField = {
- type: 'SOCIAL_LOGIN_BUTTON';
- key: string;
- label: string;
- links: Links;
-};
-
-// @public (undocumented)
-export type RedirectFields = RedirectField;
-
-export { RequestMiddleware }
-
-// @public
-export type RichContent = {
- content: string;
- replacements?: Record;
-};
-
-// @public
-export interface RichContentLink {
- // (undocumented)
- href: string;
- // (undocumented)
- key: string;
- // (undocumented)
- target?: '_self' | '_blank';
- // (undocumented)
- type: 'link';
- // (undocumented)
- value: string;
-}
-
-// @public
-export type RichContentReplacement = {
- type: 'link';
- value: string;
- href: string;
- target?: '_self' | '_blank';
-};
-
-// @public
-export interface RichTextCollector extends NoValueCollectorBase<'RichTextCollector'> {
- // (undocumented)
- output: NoValueCollectorBase<'RichTextCollector'>['output'] & {
- content: string;
- richContent: CollectorRichContent;
- };
-}
-
-// @public (undocumented)
-export interface SelectorOption {
- // (undocumented)
- label: string;
- // (undocumented)
- value: string;
-}
-
-// @public (undocumented)
-export type SingleCheckboxField = {
- type: 'SINGLE_CHECKBOX';
- inputType: 'BOOLEAN';
- key: string;
- label: string;
- required: boolean;
- validation?: {
- errorMessage: string;
- };
-};
-
-// @public (undocumented)
-export type SingleSelectCollector = SingleSelectCollectorWithValue<'SingleSelectCollector'>;
-
-// @public (undocumented)
-export interface SingleSelectCollectorNoValue {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- options: SelectorOption[];
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export interface SingleSelectCollectorWithValue {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value: string | number | boolean;
- options: SelectorOption[];
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type SingleSelectField = {
- inputType: 'SINGLE_SELECT';
- key: string;
- label: string;
- options: {
- label: string;
- value: string;
- }[];
- required?: boolean;
- type: 'RADIO' | 'DROPDOWN';
-};
-
-// @public (undocumented)
-export type SingleValueAutoCollector = AutoCollector<'SingleValueAutoCollector', 'SingleValueAutoCollector', string>;
-
-// @public (undocumented)
-export type SingleValueAutoCollectorTypes = 'SingleValueAutoCollector' | 'ProtectCollector' | 'PollingCollector';
-
-// @public
-export type SingleValueCollector = SingleValueCollectorWithValue | SingleValueCollectorNoValue;
-
-// @public (undocumented)
-export interface SingleValueCollectorNoValue {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type SingleValueCollectors = ValidatedPasswordCollector | PasswordCollector | SingleSelectCollector | TextCollector | ValidatedTextCollector | ValidatedBooleanCollector | SingleValueCollectorWithValue<'SingleValueCollector'>;
-
-// @public
-export type SingleValueCollectorTypes = 'PasswordCollector' | 'ValidatedPasswordCollector' | 'ValidatedBooleanCollector' | 'SingleValueCollector' | 'SingleSelectCollector' | 'SingleSelectObjectCollector' | 'TextCollector' | 'ValidatedTextCollector';
-
-// @public (undocumented)
-export interface SingleValueCollectorWithValue {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: V;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value: V;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type SingleValueFields = StandardField | PasswordField | ValidatedField | SingleCheckboxField | SingleSelectField | ProtectField;
-
-// @public (undocumented)
-export type StandardField = {
- type: 'TEXT' | 'SUBMIT_BUTTON' | 'FLOW_BUTTON' | 'FLOW_LINK' | 'BUTTON';
- key: string;
- label: string;
- required?: boolean;
-};
-
-// @public (undocumented)
-export interface StartNode {
- // (undocumented)
- cache: null;
- // (undocumented)
- client: {
- status: 'start';
- };
- // (undocumented)
- error: DaVinciError | null;
- // (undocumented)
- server: {
- status: 'start';
- };
- // (undocumented)
- status: 'start';
-}
-
-// @public (undocumented)
-export interface StartOptions {
- // (undocumented)
- query: Query;
-}
-
-// @public (undocumented)
-export type SubmitCollector = ActionCollectorNoUrl<'SubmitCollector'>;
-
-// @public (undocumented)
-export interface SuccessNode {
- // (undocumented)
- cache: {
- key: string;
- };
- // (undocumented)
- client: {
- authorization?: {
- code?: string;
- state?: string;
- };
- status: 'success';
- } | null;
- // (undocumented)
- error: null;
- // (undocumented)
- httpStatus: number;
- // (undocumented)
- server: {
- _links?: Links;
- eventName?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- href?: string;
- session?: string;
- status: 'success';
- };
- // (undocumented)
- status: 'success';
-}
-
-// @public (undocumented)
-export type TextCollector = SingleValueCollectorWithValue<'TextCollector'>;
-
-// @public (undocumented)
-export interface ThrownQueryError {
- // (undocumented)
- error: FetchBaseQueryError;
- // (undocumented)
- isHandledError: boolean;
- // (undocumented)
- meta: FetchBaseQueryMeta;
-}
-
-// @public
-export type UnknownCollector = {
- category: 'UnknownCollector';
- error: string | null;
- type: 'UnknownCollector';
- id: string;
- name: string;
- output: {
- key: string;
- label: string;
- type: string;
- };
-};
-
-// @public (undocumented)
-export type UnknownField = Record;
-
-// @public (undocumented)
-export const updateCollectorValues: ActionCreatorWithPayload< {
-id: string;
-value: string | string[] | boolean | PhoneNumberInputValue | PhoneNumberExtensionInputValue | FidoRegistrationInputValue | FidoAuthenticationInputValue;
-index?: number;
-}, string>;
-
-// @public
-export type Updater = (value: CollectorValueType, index?: number) => InternalErrorResponse | null;
-
-// @public (undocumented)
-export type ValidatedBooleanCollector = ValidatedSingleValueCollectorWithValue<'ValidatedBooleanCollector', boolean>;
-
-// @public (undocumented)
-export type ValidatedField = {
- type: 'TEXT';
- key: string;
- label: string;
- required: boolean;
- validation: {
- regex: string;
- errorMessage: string;
- };
-};
-
-// @public (undocumented)
-export interface ValidatedPasswordCollector {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- validation: PasswordPolicy;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- verify: boolean;
- };
- // (undocumented)
- type: 'ValidatedPasswordCollector';
-}
-
-// @public (undocumented)
-export interface ValidatedSingleValueCollectorWithValue {
- // (undocumented)
- category: 'ValidatedSingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- type: string;
- validation: (ValidationRequired | ValidationRegex)[];
- value: V;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value: V;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type ValidatedTextCollector = ValidatedSingleValueCollectorWithValue<'TextCollector'>;
-
-// @public (undocumented)
-export interface ValidationPhoneNumber {
- // (undocumented)
- message: string;
- // (undocumented)
- rule: boolean;
- // (undocumented)
- type: 'validatePhoneNumber';
-}
-
-// @public (undocumented)
-export interface ValidationRegex {
- // (undocumented)
- message: string;
- // (undocumented)
- rule: string;
- // (undocumented)
- type: 'regex';
-}
-
-// @public (undocumented)
-export interface ValidationRequired {
- // (undocumented)
- message: string;
- // (undocumented)
- rule: boolean;
- // (undocumented)
- type: 'required';
-}
-
-// @public
-export type Validator = (value: CollectorValueType) => string[] | {
- error: {
- message: string;
- type: string;
- };
- type: string;
-};
-
-// (No @packageDocumentation comment for this package)
-
-```
+## API Report File for "@forgerock/davinci-client"
+
+> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
+
+```ts
+import { ActionCreatorWithPayload } from '@reduxjs/toolkit';
+import { ActionTypes } from '@forgerock/sdk-request-middleware';
+import type { AsyncLegacyConfigOptions } from '@forgerock/sdk-types';
+import { BaseQueryFn } from '@reduxjs/toolkit/query';
+import { CustomLogger } from '@forgerock/sdk-logger';
+import { FetchArgs } from '@reduxjs/toolkit/query';
+import { FetchBaseQueryError } from '@reduxjs/toolkit/query';
+import { FetchBaseQueryMeta } from '@reduxjs/toolkit/query';
+import { GenericError } from '@forgerock/sdk-types';
+import { LogLevel } from '@forgerock/sdk-logger';
+import { MutationDefinition } from '@reduxjs/toolkit/query';
+import type { MutationResultSelectorResult } from '@reduxjs/toolkit/query';
+import { QueryDefinition } from '@reduxjs/toolkit/query';
+import { QueryStatus } from '@reduxjs/toolkit/query';
+import { Reducer } from '@reduxjs/toolkit';
+import { RequestMiddleware } from '@forgerock/sdk-request-middleware';
+import { RootState } from '@reduxjs/toolkit/query';
+import { SerializedError } from '@reduxjs/toolkit';
+import { Unsubscribe } from '@reduxjs/toolkit';
+
+// @public (undocumented)
+export type ActionCollector =
+ | ActionCollectorNoUrl
+ | ActionCollectorWithUrl;
+
+// @public (undocumented)
+export interface ActionCollectorNoUrl {
+ // (undocumented)
+ category: 'ActionCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type ActionCollectors =
+ | ActionCollectorWithUrl<'IdpCollector'>
+ | ActionCollectorNoUrl<'ActionCollector'>
+ | ActionCollectorNoUrl<'FlowCollector'>
+ | ActionCollectorNoUrl<'SubmitCollector'>;
+
+// @public
+export type ActionCollectorTypes =
+ | 'FlowCollector'
+ | 'SubmitCollector'
+ | 'IdpCollector'
+ | 'ActionCollector';
+
+// @public (undocumented)
+export interface ActionCollectorWithUrl {
+ // (undocumented)
+ category: 'ActionCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ url?: string | null;
+ };
+ // (undocumented)
+ type: T;
+}
+
+export { ActionTypes };
+
+// @public (undocumented)
+export interface AgreementCollector extends NoValueCollectorBase<'AgreementCollector'> {
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ titleEnabled: boolean;
+ title: string;
+ agreement: {
+ id: string;
+ useDynamicAgreement: boolean;
+ };
+ enabled: boolean;
+ };
+}
+
+// @public (undocumented)
+export type AgreementField = {
+ type: 'AGREEMENT';
+ key: string;
+ content: string;
+ titleEnabled: boolean;
+ title: string;
+ agreement: {
+ id: string;
+ useDynamicAgreement: boolean;
+ };
+ enabled: boolean;
+};
+
+// @public (undocumented)
+export interface AssertionValue extends Omit<
+ PublicKeyCredential,
+ 'rawId' | 'response' | 'getClientExtensionResults' | 'toJSON'
+> {
+ // (undocumented)
+ rawId: string;
+ // (undocumented)
+ response: {
+ clientDataJSON: string;
+ authenticatorData: string;
+ signature: string;
+ userHandle: string | null;
+ };
+}
+
+// @public (undocumented)
+export interface AttestationValue extends Omit<
+ PublicKeyCredential,
+ 'rawId' | 'response' | 'getClientExtensionResults' | 'toJSON'
+> {
+ // (undocumented)
+ rawId: string;
+ // (undocumented)
+ response: {
+ clientDataJSON: string;
+ attestationObject: string;
+ };
+}
+
+// @public (undocumented)
+export interface AutoCollector<
+ C extends AutoCollectorCategories,
+ T extends AutoCollectorTypes,
+ IV = string,
+ OV = Record,
+> {
+ // (undocumented)
+ category: C;
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: IV;
+ type: string;
+ validation?: ValidationRequired[] | null;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ type: string;
+ config: OV;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type AutoCollectorCategories = 'SingleValueAutoCollector' | 'ObjectValueAutoCollector';
+
+// @public (undocumented)
+export type AutoCollectors =
+ | ProtectCollector
+ | FidoRegistrationCollector
+ | FidoAuthenticationCollector
+ | PollingCollector
+ | SingleValueAutoCollector
+ | ObjectValueAutoCollector;
+
+// @public (undocumented)
+export type AutoCollectorTypes = SingleValueAutoCollectorTypes | ObjectValueAutoCollectorTypes;
+
+// @public (undocumented)
+export interface CollectorErrors {
+ // (undocumented)
+ code: string;
+ // (undocumented)
+ message: string;
+ // (undocumented)
+ target: string;
+}
+
+// @public (undocumented)
+export type CollectorInputTypes =
+ | string
+ | string[]
+ | boolean
+ | PhoneNumberInputValue
+ | PhoneNumberExtensionInputValue
+ | FidoRegistrationInputValue
+ | FidoAuthenticationInputValue;
+
+// @public
+export interface CollectorRichContent {
+ // (undocumented)
+ content: string;
+ // (undocumented)
+ replacements: RichContentLink[];
+}
+
+// @public (undocumented)
+export type Collectors =
+ | FlowCollector
+ | PasswordCollector
+ | ValidatedPasswordCollector
+ | TextCollector
+ | ValidatedBooleanCollector
+ | SingleSelectCollector
+ | IdpCollector
+ | SubmitCollector
+ | ActionCollector<'ActionCollector'>
+ | SingleValueCollector<'SingleValueCollector'>
+ | MultiSelectCollector
+ | DeviceAuthenticationCollector
+ | DeviceRegistrationCollector
+ | PhoneNumberCollector
+ | PhoneNumberExtensionCollector
+ | ReadOnlyCollector
+ | RichTextCollector
+ | ValidatedTextCollector
+ | ProtectCollector
+ | PollingCollector
+ | FidoRegistrationCollector
+ | FidoAuthenticationCollector
+ | QrCodeCollector
+ | AgreementCollector
+ | UnknownCollector;
+
+// @public
+export type CollectorValueType = T extends {
+ type: 'PasswordCollector';
+}
+ ? string
+ : T extends {
+ type: 'ValidatedPasswordCollector';
+ }
+ ? string
+ : T extends {
+ type: 'TextCollector';
+ category: 'SingleValueCollector';
+ }
+ ? string
+ : T extends {
+ type: 'TextCollector';
+ category: 'ValidatedSingleValueCollector';
+ }
+ ? string
+ : T extends {
+ type: 'ValidatedBooleanCollector';
+ }
+ ? boolean
+ : T extends {
+ type: 'SingleSelectCollector';
+ }
+ ? string
+ : T extends {
+ type: 'MultiSelectCollector';
+ }
+ ? string[]
+ : T extends {
+ type: 'DeviceRegistrationCollector';
+ }
+ ? string
+ : T extends {
+ type: 'DeviceAuthenticationCollector';
+ }
+ ? string
+ : T extends {
+ type: 'PhoneNumberCollector';
+ }
+ ? PhoneNumberInputValue
+ : T extends {
+ type: 'PhoneNumberExtensionCollector';
+ }
+ ? PhoneNumberExtensionInputValue
+ : T extends {
+ type: 'FidoRegistrationCollector';
+ }
+ ? FidoRegistrationInputValue
+ : T extends {
+ type: 'FidoAuthenticationCollector';
+ }
+ ? FidoAuthenticationInputValue
+ : T extends {
+ category: 'SingleValueCollector';
+ }
+ ? string
+ : T extends {
+ category: 'ValidatedSingleValueCollector';
+ }
+ ? string
+ : T extends {
+ category: 'MultiValueCollector';
+ }
+ ? string[]
+ : CollectorInputTypes;
+
+// @public (undocumented)
+export type ComplexValueFields =
+ | DeviceAuthenticationField
+ | DeviceRegistrationField
+ | PhoneNumberField
+ | PhoneNumberExtensionField
+ | FidoRegistrationField
+ | FidoAuthenticationField
+ | PollingField;
+
+// @public (undocumented)
+export interface ContinueNode {
+ // (undocumented)
+ cache: {
+ key: string;
+ };
+ // (undocumented)
+ client: {
+ action: string;
+ collectors: Collectors[];
+ description?: string;
+ name?: string;
+ status: 'continue';
+ };
+ // (undocumented)
+ error: null;
+ // (undocumented)
+ httpStatus: number;
+ // (undocumented)
+ server: {
+ _links?: Links;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ href?: string;
+ eventName?: string;
+ status: 'continue';
+ };
+ // (undocumented)
+ status: 'continue';
+}
+
+export { CustomLogger };
+
+// @public
+export type CustomPollingStatus = string & {};
+
+// @public
+export function davinci