@solidgate/client-sdk-loader
Version:
Solidgate client sdk loader
29 lines (28 loc) • 1.17 kB
TypeScript
import Message from './Message';
import FieldName from '../../enums/FieldName';
import AdditionalFieldName from '../../enums/AdditionalFieldName';
import InteractionType from '../../enums/InteractionType';
import InteractionTargetType from '../../enums/InteractionTargetType';
import MessageType from '../../enums/MessageType';
import ResignFieldName from '../../enums/ResignFieldName';
interface ControlState {
isValid: boolean;
isTouched: boolean;
}
declare type InteractionMessageFormState = {
cardForm: {
fields: Record<FieldName.CardCvv | FieldName.CardNumber | FieldName.CardExpiryDate, ControlState> & Partial<Record<AdditionalFieldName | 'cardHolder', ControlState>>;
} & ControlState;
} | {
resignForm: {
fields: Record<ResignFieldName, ControlState>;
} & ControlState;
};
declare type InteractionMessage = Message<MessageType.Interaction> & {
target: {
type: InteractionTargetType;
name: FieldName | ResignFieldName | AdditionalFieldName | 'submit' | 'googlePay' | 'applePay' | 'paypal';
interaction: InteractionType;
};
} & InteractionMessageFormState;
export default InteractionMessage;