/**************************************************************************** * Copyright 2021 EPAM Systems * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ***************************************************************************/ declare type ModalErrors = Record; interface ModalValidationState> { errors: ModalErrors; valid: boolean; result: TResult; } interface ModalReducerActionData> { valid: boolean; errors: ModalErrors; result: Partial & Record; } interface ModalReducerAction> { data: ModalReducerActionData; } interface SdataInitializerSchema { key?: string; } interface SdataResult extends Record { context: string; fieldName: string; fieldValue: string; radiobuttons: string; type: 'DAT' | 'nucleotideComponent'; init?: boolean; } declare type SdataState = ModalValidationState; declare type SdataActionData = Omit, 'result'> & { result: Partial & Record; }; declare type SdataAction = Omit, 'data'> & { data: SdataActionData; }; export declare const initSdata: (schema: SdataInitializerSchema) => SdataState; export declare function sdataReducer(state: SdataState, action: SdataAction): SdataState; export declare function nucleotideComponentReducer(state: SdataState, action: SdataAction): SdataState; export {};