/****************************************************************************
 * 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.
 ***************************************************************************/
import { PayloadAction } from '@reduxjs/toolkit';
import { AdditionalModalProps } from "../../components/modal/modalContainer/types";
import { RootState } from "./..";
interface ModalState {
    name: string | null;
    isOpen: boolean;
    additionalProps: AdditionalModalProps | null;
    errorTooltipText: string;
    errorModalText: string;
    errorModalTitle: string;
}
export declare type ModalName = 'open' | 'save' | 'delete' | 'updateSequenceInRNABuilder' | 'monomerConnection' | 'confirmationDialog';
export declare const modalSlice: import("@reduxjs/toolkit").Slice<ModalState, {
    openModal: (state: import("immer").WritableDraft<ModalState>, action: PayloadAction<ModalName | {
        name: ModalName;
        additionalProps: AdditionalModalProps;
    }>) => void;
    closeModal: (state: import("immer").WritableDraft<ModalState>) => void;
    openErrorTooltip: (state: import("immer").WritableDraft<ModalState>, action: PayloadAction<string>) => void;
    closeErrorTooltip: (state: import("immer").WritableDraft<ModalState>) => void;
    openErrorModal: (state: import("immer").WritableDraft<ModalState>, action: PayloadAction<string | {
        errorMessage: string;
        errorTitle: string;
    }>) => void;
    closeErrorModal: (state: import("immer").WritableDraft<ModalState>) => void;
}, "modal", "modal", import("@reduxjs/toolkit").SliceSelectors<ModalState>>;
export declare const openModal: import("@reduxjs/toolkit").ActionCreatorWithPayload<ModalName | {
    name: ModalName;
    additionalProps: AdditionalModalProps;
}, "modal/openModal">, closeModal: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"modal/closeModal">, openErrorTooltip: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "modal/openErrorTooltip">, closeErrorTooltip: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"modal/closeErrorTooltip">, openErrorModal: import("@reduxjs/toolkit").ActionCreatorWithPayload<string | {
    errorMessage: string;
    errorTitle: string;
}, "modal/openErrorModal">, closeErrorModal: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"modal/closeErrorModal">;
export declare const selectModalName: (state: RootState) => string | null;
export declare const selectModalIsOpen: (state: RootState) => boolean;
export declare const selectAdditionalProps: (state: RootState) => AdditionalModalProps | null;
export declare const selectErrorTooltipText: (state: RootState) => boolean;
export declare const selectErrorModalText: (state: RootState) => string;
export declare const selectErrorModalTitle: (state: RootState) => string;
export declare const modalReducer: import("redux").Reducer<ModalState, import("redux").UnknownAction, ModalState>;
export {};
