bot-form
Version:
> Formularios con UX de chatbot
46 lines (45 loc) • 5.77 kB
TypeScript
import { BotFormConditionedSteps, BotFormReducerState, BotFormStep, DTO } from '../typings';
export declare function getBotFormKit<D extends DTO, P = any>({ name, steps, conditionedSteps, welcomeMessage, }: GetBotFormKitArguments<D>): {
events: {
userInput: import("@ngrx/store").ActionCreator<string, (props: import("../typings").BotFormUserInputPayload) => import("../typings").BotFormUserInputPayload & import("@ngrx/store/src/models").TypedAction<string>>;
successfulUserInput: import("@ngrx/store").ActionCreator<string, (props: import("../typings").BotFormSuccessfulInputPayload<any>) => import("../typings").BotFormSuccessfulInputPayload<any> & import("@ngrx/store/src/models").TypedAction<string>>;
failedUserInput: import("@ngrx/store").ActionCreator<string, (props: import("../typings").BotFormFailedInputPayload) => import("../typings").BotFormFailedInputPayload & import("@ngrx/store/src/models").TypedAction<string>>;
lastStepCompleted: import("@ngrx/store").ActionCreator<string, () => import("@ngrx/store/src/models").TypedAction<string>>;
thereIsANextStep: import("@ngrx/store").ActionCreator<string, (props: import("../typings").BotFormThereIsANextStepPayload) => import("../typings").BotFormThereIsANextStepPayload & import("@ngrx/store/src/models").TypedAction<string>>;
extraStepsConditionMet: import("@ngrx/store").ActionCreator<string, (props: import("../typings").BotFormExtraStepsPayload) => import("../typings").BotFormExtraStepsPayload & import("@ngrx/store/src/models").TypedAction<string>>;
extraStepsConditionNotMet: import("@ngrx/store").ActionCreator<string, () => import("@ngrx/store/src/models").TypedAction<string>>;
fetchOptionsStart: import("@ngrx/store").ActionCreator<string, () => import("@ngrx/store/src/models").TypedAction<string>>;
fetchOptionsSuccess: import("@ngrx/store").ActionCreator<string, (props: import("../typings").BotFormFetchOptionsSuccessPayload) => import("../typings").BotFormFetchOptionsSuccessPayload & import("@ngrx/store/src/models").TypedAction<string>>;
fetchOptionsFailure: import("@ngrx/store").ActionCreator<string, (props: import("../typings").BotFormErrorPayload) => import("../typings").BotFormErrorPayload & import("@ngrx/store/src/models").TypedAction<string>>;
fulfillmentSuccess: import("@ngrx/store").ActionCreator<string, (props: import("../typings").BotFormFulfillmentSuccessPayload) => import("../typings").BotFormFulfillmentSuccessPayload & import("@ngrx/store/src/models").TypedAction<string>>;
fulfillmentFailure: import("@ngrx/store").ActionCreator<string, (props: import("../typings").BotFormErrorPayload) => import("../typings").BotFormErrorPayload & import("@ngrx/store/src/models").TypedAction<string>>;
conversationInit: import("@ngrx/store").ActionCreator<string, () => import("@ngrx/store/src/models").TypedAction<string>>;
undoClicked: import("@ngrx/store").ActionCreator<string, () => import("@ngrx/store/src/models").TypedAction<string>>;
confirmed: import("@ngrx/store").ActionCreator<string, () => import("@ngrx/store/src/models").TypedAction<string>>;
cancelConfirmation: import("@ngrx/store").ActionCreator<string, () => import("@ngrx/store/src/models").TypedAction<string>>;
};
selectors: {
selectBotFormState: import("@ngrx/store").MemoizedSelector<object, BotFormReducerState<DTO, unknown>, import("@ngrx/store").DefaultProjectorFn<BotFormReducerState<DTO, unknown>>>;
selectSteps: import("@ngrx/store").MemoizedSelector<any, BotFormStep<any>[], import("@ngrx/store").DefaultProjectorFn<BotFormStep<any>[]>>;
selectActiveKey: import("@ngrx/store").MemoizedSelector<any, string, import("@ngrx/store").DefaultProjectorFn<string>>;
selectActiveStep: import("@ngrx/store").MemoizedSelector<any, BotFormStep<any>, import("@ngrx/store").DefaultProjectorFn<BotFormStep<any>>>;
selectStepsUpToCurrent: import("@ngrx/store").MemoizedSelector<any, BotFormStep<any>[], import("@ngrx/store").DefaultProjectorFn<BotFormStep<any>[]>>;
selectWasLastStepReached: import("@ngrx/store").MemoizedSelector<any, boolean, import("@ngrx/store").DefaultProjectorFn<boolean>>;
selectIsComplete: import("@ngrx/store").MemoizedSelector<any, boolean, import("@ngrx/store").DefaultProjectorFn<boolean>>;
selectIsFetchingOptions: import("@ngrx/store").MemoizedSelector<any, boolean, import("@ngrx/store").DefaultProjectorFn<boolean>>;
selectStepsDto: import("@ngrx/store").MemoizedSelector<any, any, import("@ngrx/store").DefaultProjectorFn<any>>;
selectIsFulfilling: import("@ngrx/store").MemoizedSelector<any, boolean, import("@ngrx/store").DefaultProjectorFn<boolean>>;
selectMessages: import("@ngrx/store").MemoizedSelector<any, import("../typings").BotFormMessage<any>[], import("@ngrx/store").DefaultProjectorFn<import("../typings").BotFormMessage<any>[]>>;
selectIsLoading: import("@ngrx/store").MemoizedSelector<any, boolean, import("@ngrx/store").DefaultProjectorFn<boolean>>;
selectShouldUserInputBeSupressed: import("@ngrx/store").MemoizedSelector<any, boolean, import("@ngrx/store").DefaultProjectorFn<boolean>>;
selectIsFulfilled: import("@ngrx/store").MemoizedSelector<any, boolean, import("@ngrx/store").DefaultProjectorFn<boolean>>;
};
reducer: import("@ngrx/store").ActionReducer<BotFormReducerState<any, any>, import("@ngrx/store").Action>;
};
export { BotFormEffects } from './effects';
export interface GetBotFormKitArguments<D extends DTO = any> {
name: string;
steps: BotFormStep<D>[];
conditionedSteps: BotFormConditionedSteps<D>[];
welcomeMessage?: string;
}