import React from 'react';
import { Cluster, Host, Inventory } from '@openshift-assisted/types/assisted-installer-service';
type HostIdAndHostname = {
    hostId: Host['id'];
    hostname: string;
};
type EditHostProps = {
    host: Host;
    inventory: Inventory;
};
type ResetClusterProps = {
    cluster: Cluster;
};
type CancelInstallationProps = {
    clusterId: Cluster['id'];
};
type DiscoveryImageDialogProps = {
    cluster: Cluster;
};
type MassUpdateHostnameDialogProps = {
    cluster: Cluster;
    hostIDs: string[];
    reloadCluster: VoidFunction;
};
type MassDeleteHostDialogProps = {
    hosts: Host[];
    onDelete: (host: Host) => Promise<any>;
    reloadCluster: VoidFunction;
};
type ResetSingleClusterDialogProps = {
    cluster?: Cluster;
};
type ModalDialogsDataTypes = {
    eventsDialog: HostIdAndHostname;
    editHostDialog: EditHostProps;
    deleteHostDialog: HostIdAndHostname;
    resetHostDialog: HostIdAndHostname;
    additionalNTPSourcesDialog: void;
    resetClusterDialog: ResetClusterProps;
    cancelInstallationDialog: CancelInstallationProps;
    discoveryImageDialog: DiscoveryImageDialogProps;
    day2DiscoveryImageDialog: DiscoveryImageDialogProps;
    UpdateDay2ApiVipDialog: void;
    massUpdateHostnameDialog: MassUpdateHostnameDialogProps;
    massDeleteHostDialog: MassDeleteHostDialogProps;
    resetSingleClusterDialog: ResetSingleClusterDialogProps;
};
type DialogId = 'eventsDialog' | 'editHostDialog' | 'deleteHostDialog' | 'resetHostDialog' | 'additionalNTPSourcesDialog' | 'resetClusterDialog' | 'cancelInstallationDialog' | 'discoveryImageDialog' | 'day2DiscoveryImageDialog' | 'UpdateDay2ApiVipDialog' | 'massUpdateHostnameDialog' | 'massDeleteHostDialog' | 'resetSingleClusterDialog';
export type ModalDialogsContextType = {
    [key in DialogId]: {
        isOpen: boolean;
        open: (data: ModalDialogsDataTypes[key]) => void;
        close: () => void;
        data: ModalDialogsDataTypes[key];
    };
};
declare const ModalDialogsContextProvider: React.FC<React.PropsWithChildren>;
declare const useModalDialogsContext: () => ModalDialogsContextType;
export { ModalDialogsContextProvider, useModalDialogsContext };
//# sourceMappingURL=ModalDialogsContext.d.ts.map