import * as Redux from 'redux';
import { AdaptableAlert } from '../../AdaptableState/Common/AdaptableAlert';
import { FormContext } from '../../AdaptableState/Common/FormContext';
import { AdaptableModule } from '../../AdaptableState/Common/Types';
import { PopupState } from '../../AdaptableState/PopupState';
import { AdaptableForm, BaseContext, ProgressIndicatorConfig } from '../../types';
import { InputAction, UIConfirmation, UIPrompt } from '../../Utilities/Interface/MessagePopups';
import { ModuleParams } from '../../View/Components/SharedProps/ModuleViewPopupProps';
export declare const POPUP_SHOW_SCREEN = "POPUP_SHOW_SCREEN";
export declare const POPUP_HIDE_SCREEN = "POPUP_HIDE_SCREEN";
export declare const POPUP_SHOW_ALERT = "POPUP_SHOW_ALERT";
export declare const POPUP_SHOW_PROMPT = "POPUP_SHOW_PROMPT";
export declare const POPUP_HIDE_PROMPT = "POPUP_HIDE_PROMPT";
export declare const POPUP_CONFIRM_PROMPT = "POPUP_CONFIRM_PROMPT";
export declare const POPUP_SHOW_CONFIRMATION = "POPUP_SHOW_CONFIRMATION";
export declare const POPUP_CONFIRM_CONFIRMATION = "POPUP_CONFIRM_CONFIRMATION";
export declare const POPUP_CANCEL_CONFIRMATION = "POPUP_CANCEL_CONFIRMATION";
export declare const POPUP_CLEAR_PARAM = "POPUP_CLEAR_PARAM";
export declare const POPUP_SHOW_WINDOW = "POPUP_SHOW_WINDOW";
export declare const POPUP_HIDE_WINDOW = "POPUP_HIDE_WINDOW";
export declare const POPUP_SHOW_FORM = "POPUP_SHOW_FORM";
export declare const POPUP_HIDE_FORM = "POPUP_FORM_HIDE";
export declare const PROGRESS_INDICATOR_SHOW = "PROGRESS_INDICATOR_SHOW";
export declare const PROGRESS_INDICATOR_HIDE = "PROGRESS_INDICATOR_HIDE";
export interface PopupShowScreenAction extends Redux.Action {
    ComponentModule: AdaptableModule;
    ComponentName: string;
    Params?: ModuleParams;
    PopupProps?: {
        [key: string]: any;
    };
}
export interface PopupHideScreenAction extends Redux.Action {
}
export interface PopupShowWindowAction extends Redux.Action {
    Id: string;
    Title: string;
    PopupProps: any;
    FactoryId: any;
    Icon?: string;
}
export interface PopupHideWindowAction extends Redux.Action {
    Id: string;
}
export interface PopupShowFormAction extends Redux.Action {
    Id: string;
    Form: AdaptableForm<BaseContext>;
    FormProps: any;
    prepareContext?: (context: BaseContext) => Promise<BaseContext> | BaseContext;
}
export interface PopupHideFormAction extends Redux.Action {
    Id: string;
}
export interface PopupShowAlertAction extends Redux.Action {
    alert: AdaptableAlert;
}
export interface PopupHideAlertAction extends Redux.Action {
}
export interface PopupHidePromptAction extends Redux.Action {
}
export interface PopupConfirmPromptAction extends InputAction {
}
export interface PopupConfirmConfirmationAction extends Redux.Action {
    comment: string;
}
export interface PopupCancelConfirmationAction extends Redux.Action {
}
export interface PopupShowPromptAction extends Redux.Action {
    prompt: UIPrompt;
}
export interface PopupShowConfirmationAction extends Redux.Action {
    confirmation: UIConfirmation;
}
export interface PopupClearParamAction extends Redux.Action {
}
export interface ProgressIndicatorShowAction extends Redux.Action {
    progressIndicatorConfig: ProgressIndicatorConfig;
}
export interface ProgressIndicatorHideAction extends Redux.Action {
}
export declare const PopupShowScreen: (componentModule?: AdaptableModule, componentName?: string, params?: ModuleParams, popupProps?: {
    [key: string]: any;
}) => PopupShowScreenAction;
export declare const PopupHideScreen: () => PopupHideScreenAction;
export declare const PopupShowWindow: (config: {
    Id: string;
    Title: string;
    FactoryId: string;
    PopupProps?: any;
    Icon?: string;
}) => PopupShowWindowAction;
export declare const PopupHideWindow: (id: string) => PopupHideWindowAction;
export declare const PopupShowForm: (config: {
    Id: string;
    Form: AdaptableForm<FormContext>;
    FormProps?: any;
    prepareContext?: (context: FormContext) => Promise<FormContext> | FormContext;
}) => PopupShowFormAction;
export declare const PopupHideForm: (id: string) => PopupHideFormAction;
export declare const PopupShowAlert: (alert: AdaptableAlert) => PopupShowAlertAction;
export declare const PopupShowPrompt: (prompt: UIPrompt) => PopupShowPromptAction;
export declare const PopupHidePrompt: () => PopupHidePromptAction;
export declare const PopupConfirmPrompt: (inputText: string) => PopupConfirmPromptAction;
export declare const PopupShowConfirmation: (confirmation: UIConfirmation) => PopupShowConfirmationAction;
export declare const PopupConfirmConfirmation: (comment: string) => PopupConfirmConfirmationAction;
export declare const PopupCancelConfirmation: () => PopupCancelConfirmationAction;
export declare const PopupClearParam: () => PopupClearParamAction;
export declare const ProgressIndicatorShow: (progressIndicatorConfig: ProgressIndicatorConfig) => ProgressIndicatorShowAction;
export declare const ProgressIndicatorHide: () => ProgressIndicatorHideAction;
export declare const PopupReducer: Redux.Reducer<PopupState>;
