Do not edit this file. It is a report generated by API Extractor.
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<T extends ActionCollectorTypes> = ActionCollectorNoUrl<T> | ActionCollectorWithUrl<T>;
// @public (undocumented)
export interface ActionCollectorNoUrl<T extends ActionCollectorTypes> {
// (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<T extends ActionCollectorTypes> {
// (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<string, unknown>> {
// (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 Collectors = FlowCollector | PasswordCollector | TextCollector | SingleSelectCollector | IdpCollector | SubmitCollector | ActionCollector<'ActionCollector'> | SingleValueCollector<'SingleValueCollector'> | MultiSelectCollector | DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | ReadOnlyCollector | ValidatedTextCollector | ProtectCollector | PollingCollector | FidoRegistrationCollector | FidoAuthenticationCollector | QrCodeCollector | AgreementCollector | UnknownCollector;
// @public
export type CollectorValueType<T> = T extends {
type: 'PasswordCollector';
} ? string : T extends {
type: 'TextCollector';
category: 'SingleValueCollector';
} ? string : T extends {
type: 'TextCollector';
category: 'ValidatedSingleValueCollector';
} ? string : 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: 'FidoRegistrationCollector';
} ? FidoRegistrationInputValue : T extends {
type: 'FidoAuthenticationCollector';
} ? FidoAuthenticationInputValue : T extends {
category: 'SingleValueCollector';
} ? string : T extends {
category: 'ValidatedSingleValueCollector';
} ? string : T extends {
category: 'MultiValueCollector';
} ? string[] : string | string[] | PhoneNumberInputValue | FidoRegistrationInputValue | FidoAuthenticationInputValue;
// @public (undocumented)
export type ComplexValueFields = DeviceAuthenticationField | DeviceRegistrationField | PhoneNumberField | 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<ActionType extends ActionTypes = ActionTypes>(input: {
config: DaVinciConfig;
requestMiddleware?: RequestMiddleware<ActionType>[];
logger?: {
level: LogLevel;
custom?: CustomLogger;
};
}): Promise<{
subscribe: (listener: () => void) => Unsubscribe;
externalIdp: () => (() => Promise<void | InternalErrorResponse>);
flow: (action: DaVinciAction) => InitFlow;
next: (args?: DaVinciRequest) => Promise<NodeStates>;
resume: (input: {
continueToken: string;
}) => Promise<InternalErrorResponse | NodeStates>;
start: <QueryParams extends OutgoingQueryParams = OutgoingQueryParams>(options?: StartOptions<QueryParams> | undefined) => Promise<ContinueNode | ErrorNode | FailureNode | StartNode | SuccessNode>;
update: <T extends SingleValueCollectors | MultiSelectCollector | ObjectValueCollectors | AutoCollectors>(collector: T) => Updater<T>;
validate: (collector: SingleValueCollectors | ObjectValueCollectors | MultiValueCollectors | AutoCollectors) => Validator;
pollStatus: (collector: PollingCollector) => Poller;
getClient: () => {
action: string;
collectors: Collectors[];
description?: string;
name?: string;
status: "continue";
} | {
action: string;
collectors: Collectors[];
description?: string;
name?: string;
status: "error";
} | {
status: "failure";
} | {
status: "start";
} | {
authorization?: {
code?: string;
state?: string;
};
status: "success";
} | null;
getCollectors: () => Collectors[];
getError: () => DaVinciError | null;
getErrorCollectors: () => CollectorErrors[];
getNode: () => ContinueNode | ErrorNode | FailureNode | StartNode | SuccessNode;
getServer: () => {
_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;
href?: string;
id?: string;
interactionId?: string;
interactionToken?: string;
status: "failure";
} | {
status: "start";
} | {
_links?: Links;
eventName?: string;
id?: string;
interactionId?: string;
interactionToken?: string;
href?: string;
session?: string;
status: "success";
} | 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<OutgoingQueryParams> | 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?: FetchBaseQueryError | SerializedError | undefined;
endpointName: string;
startedTimeStamp: number;
fulfilledTimeStamp?: number;
}, "data" | "fulfilledTimeStamp"> & Required<Pick<{
requestId: string;
data?: unknown;
error?: FetchBaseQueryError | SerializedError | 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?: FetchBaseQueryError | SerializedError | 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?: FetchBaseQueryError | SerializedError | undefined;
endpointName: string;
startedTimeStamp: number;
fulfilledTimeStamp?: number;
}, "error"> & Required<Pick<{
requestId: string;
data?: unknown;
error?: FetchBaseQueryError | SerializedError | 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<OutgoingQueryParams> | 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?: FetchBaseQueryError | SerializedError | undefined;
endpointName: string;
startedTimeStamp: number;
fulfilledTimeStamp?: number;
}, "data" | "fulfilledTimeStamp"> & Required<Pick<{
requestId: string;
data?: unknown;
error?: FetchBaseQueryError | SerializedError | 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?: FetchBaseQueryError | SerializedError | 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?: FetchBaseQueryError | SerializedError | undefined;
endpointName: string;
startedTimeStamp: number;
fulfilledTimeStamp?: number;
}, "error"> & Required<Pick<{
requestId: string;
data?: unknown;
error?: FetchBaseQueryError | SerializedError | 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<any>;
// @public (undocumented)
export type DavinciClient = Awaited<ReturnType<typeof davinci>>;
// @public (undocumented)
export interface DaVinciConfig extends AsyncLegacyConfigOptions {
// (undocumented)
responseType?: string;
}
// @public (undocumented)
export interface DaVinciError extends Omit<GenericError, 'error'> {
// (undocumented)
collectors?: CollectorErrors[];
// (undocumented)
internalHttpStatus?: number;
// (undocumented)
message: string;
// (undocumented)
status: 'error' | 'failure' | 'unknown';
}
// @public (undocumented)
export interface DaVinciErrorCacheEntry<T> {
// (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<string, unknown>;
};
};
}
// @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<unknown>;
};
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<FidoAuthenticationInputValue | GenericError>;
register: (options: FidoRegistrationOptions) => Promise<FidoRegistrationInputValue | GenericError>;
}
// @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 ActionCollectorTypes> = T extends 'IdpCollector' ? IdpCollector : T extends 'SubmitCollector' ? SubmitCollector : T extends 'FlowCollector' ? FlowCollector : ActionCollectorWithUrl<'ActionCollector'> | ActionCollectorNoUrl<'ActionCollector'>;
// @public
export type InferAutoCollectorType<T extends AutoCollectorTypes> = 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 MultiValueCollectorTypes> = T extends 'MultiSelectCollector' ? MultiValueCollectorWithValue<'MultiSelectCollector'> : MultiValueCollectorWithValue<'MultiValueCollector'> | MultiValueCollectorNoValue<'MultiValueCollector'>;
// @public
export type InferNoValueCollectorType<T extends NoValueCollectorTypes> = T extends 'ReadOnlyCollector' ? NoValueCollectorBase<'ReadOnlyCollector'> : T extends 'QrCodeCollector' ? QrCodeCollectorBase : T extends 'AgreementCollector' ? AgreementCollector : NoValueCollectorBase<'NoValueCollector'>;
// @public
export type InferSingleValueCollectorType<T extends SingleValueCollectorTypes> = T extends 'TextCollector' ? TextCollector : T extends 'SingleSelectCollector' ? SingleSelectCollector : T extends 'ValidatedTextCollector' ? ValidatedTextCollector : T extends 'PasswordCollector' ? PasswordCollector : SingleValueCollectorWithValue<'SingleValueCollector'> | SingleValueCollectorNoValue<'SingleValueCollector'>;
// @public (undocumented)
export type InferValueObjectCollectorType<T extends ObjectValueCollectorTypes> = T extends 'DeviceAuthenticationCollector' ? DeviceAuthenticationCollector : T extends 'DeviceRegistrationCollector' ? DeviceRegistrationCollector : T extends 'PhoneNumberCollector' ? PhoneNumberCollector : ObjectOptionsCollectorWithObjectValue<'ObjectValueCollector'> | ObjectOptionsCollectorWithStringValue<'ObjectValueCollector'>;
// @public (undocumented)
export type InitFlow = () => Promise<FlowNode | InternalErrorResponse>;
// @public (undocumented)
export interface InternalErrorResponse {
// (undocumented)
error: Omit<GenericError, 'error'> & {
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<T extends MultiValueCollectorTypes> = MultiValueCollectorWithValue<T> | MultiValueCollectorNoValue<T>;
// @public (undocumented)
export interface MultiValueCollectorNoValue<T extends MultiValueCollectorTypes> {
// (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<T extends MultiValueCollectorTypes> {
// (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, unknown>;
};
}, string>;
// @public
export const nodeCollectorReducer: Reducer<(TextCollector | SingleSelectCollector | ValidatedTextCollector | PasswordCollector | MultiSelectCollector | DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | IdpCollector | SubmitCollector | FlowCollector | QrCodeCollectorBase | AgreementCollector | ReadOnlyCollector | UnknownCollector | ProtectCollector | FidoRegistrationCollector | FidoAuthenticationCollector | PollingCollector | ActionCollector<"ActionCollector"> | SingleValueCollector<"SingleValueCollector">)[]> & {
getInitialState: () => (TextCollector | SingleSelectCollector | ValidatedTextCollector | PasswordCollector | MultiSelectCollector | DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | IdpCollector | SubmitCollector | FlowCollector | QrCodeCollectorBase | AgreementCollector | ReadOnlyCollector | UnknownCollector | ProtectCollector | FidoRegistrationCollector | FidoAuthenticationCollector | PollingCollector | ActionCollector<"ActionCollector"> | SingleValueCollector<"SingleValueCollector">)[];
};
// @public (undocumented)
export type NodeStates = StartNode | ContinueNode | ErrorNode | SuccessNode | FailureNode;
// @public (undocumented)
export type NoValueCollector<T extends NoValueCollectorTypes> = NoValueCollectorBase<T>;
// @public (undocumented)
export interface NoValueCollectorBase<T extends NoValueCollectorTypes> {
// (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'> | NoValueCollectorBase<'ReadOnlyCollector'> | QrCodeCollectorBase | AgreementCollector;
// @public
export type NoValueCollectorTypes = 'ReadOnlyCollector' | '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<string, string>, D = Record<string, 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: 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<string, unknown>>;
// @public (undocumented)
export type ObjectValueAutoCollectorTypes = 'ObjectValueAutoCollector' | 'FidoRegistrationCollector' | 'FidoAuthenticationCollector';
// @public (undocumented)
export type ObjectValueCollector<T extends ObjectValueCollectorTypes> = ObjectOptionsCollectorWithObjectValue<T> | ObjectOptionsCollectorWithStringValue<T> | ObjectValueCollectorWithObjectValue<T>;
// @public (undocumented)
export type ObjectValueCollectors = DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | ObjectOptionsCollectorWithObjectValue<'ObjectSelectCollector'> | ObjectOptionsCollectorWithStringValue<'ObjectSelectCollector'>;
// @public
export type ObjectValueCollectorTypes = 'DeviceAuthenticationCollector' | 'DeviceRegistrationCollector' | 'PhoneNumberCollector' | 'ObjectOptionsCollector' | 'ObjectValueCollector' | 'ObjectSelectCollector';
// @public (undocumented)
export interface ObjectValueCollectorWithObjectValue<T extends ObjectValueCollectorTypes, IV = Record<string, string>, OV = Record<string, string>> {
// (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 type PasswordCollector = SingleValueCollectorNoValue<'PasswordCollector'>;
// @public (undocumented)
export type PhoneNumberCollector = ObjectValueCollectorWithObjectValue<'PhoneNumberCollector', PhoneNumberInputValue, PhoneNumberOutputValue>;
// @public (undocumented)
export type PhoneNumberField = {
type: 'PHONE_NUMBER';
key: string;
label: string;
defaultCountryCode: string | null;
required: boolean;
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 (undocumented)
export type Poller = () => Promise<PollingStatus | InternalErrorResponse>;
// @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 (undocumented)
export type QrCodeCollector = QrCodeCollectorBase;
// @public (undocumented)
export interface QrCodeCollectorBase {
// (undocumented)
category: 'NoValueCollector';
// (undocumented)
error: string | null;
// (undocumented)
id: string;
// (undocumented)
name: string;
// (undocumented)
output: {
key: string;
label: string;
type: string;
src: string;
};
// (undocumented)
type: 'QrCodeCollector';
}
// @public (undocumented)
export type QrCodeField = {
type: 'QR_CODE';
key: string;
content: string;
fallbackText?: string;
};
// @public (undocumented)
export type ReadOnlyCollector = NoValueCollectorBase<'ReadOnlyCollector'>;
// @public (undocumented)
export type ReadOnlyField = {
type: 'LABEL';
content: string;
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 (undocumented)
export interface SelectorOption {
// (undocumented)
label: string;
// (undocumented)
value: string;
}
// @public (undocumented)
export type SingleSelectCollector = SingleSelectCollectorWithValue<'SingleSelectCollector'>;
// @public (undocumented)
export interface SingleSelectCollectorNoValue<T extends SingleValueCollectorTypes> {
// (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<T extends SingleValueCollectorTypes> {
// (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<T extends SingleValueCollectorTypes> = SingleValueCollectorWithValue<T> | SingleValueCollectorNoValue<T>;
// @public (undocumented)
export interface SingleValueCollectorNoValue<T extends SingleValueCollectorTypes> {
// (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 = SingleValueCollectorNoValue<'PasswordCollector'> | SingleSelectCollectorWithValue<'SingleSelectCollector'> | SingleValueCollectorWithValue<'SingleValueCollector'> | SingleValueCollectorWithValue<'TextCollector'> | ValidatedSingleValueCollectorWithValue<'TextCollector'>;
// @public
export type SingleValueCollectorTypes = 'PasswordCollector' | 'SingleValueCollector' | 'SingleSelectCollector' | 'SingleSelectObjectCollector' | 'TextCollector' | 'ValidatedTextCollector';
// @public (undocumented)
export interface SingleValueCollectorWithValue<T extends SingleValueCollectorTypes> {
// (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;
};
// (undocumented)
type: T;
}
// @public (undocumented)
export type SingleValueFields = StandardField | ValidatedField | SingleSelectField | ProtectField;
// @public (undocumented)
export type StandardField = {
type: 'PASSWORD' | 'PASSWORD_VERIFY' | '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<Query extends OutgoingQueryParams = OutgoingQueryParams> {
// (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<string, unknown>;
// @public (undocumented)
export const updateCollectorValues: ActionCreatorWithPayload< {
id: string;
value: string | string[] | PhoneNumberInputValue | FidoRegistrationInputValue | FidoAuthenticationInputValue;
index?: number;
}, string>;
// @public
export type Updater<T = unknown> = (value: CollectorValueType<T>, index?: number) => InternalErrorResponse | null;
// @public (undocumented)
export type ValidatedField = {
type: 'TEXT';
key: string;
label: string;
required: boolean;
validation: {
regex: string;
errorMessage: string;
};
};
// @public (undocumented)
export interface ValidatedSingleValueCollectorWithValue<T extends SingleValueCollectorTypes> {
// (undocumented)
category: 'ValidatedSingleValueCollector';
// (undocumented)
error: string | null;
// (undocumented)
id: string;
// (undocumented)
input: {
key: string;
value: string | number | boolean;
type: string;
validation: (ValidationRequired | ValidationRegex)[];
};
// (undocumented)
name: string;
// (undocumented)
output: {
key: string;
label: string;
type: string;
value: string | number | boolean;
};
// (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 (undocumented)
export type Validator = (value: string) => string[] | {
error: {
message: string;
type: string;
};
type: string;
};
// (No @packageDocumentation comment for this package)