/**
 * Copyright (c) 2020-present, Goldman Sachs
 *
 * 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 type { GenericLegendApplicationStore } from './ApplicationStore.js';
export declare enum ActionAlertType {
    STANDARD = "STANDARD",
    CAUTION = "CAUTION",
    ERROR = "ERROR"
}
export declare enum ActionAlertActionType {
    STANDARD = "STANDARD",
    PROCEED_WITH_CAUTION = "PROCEED_WITH_CAUTION",
    PROCEED = "PROCEED"
}
export interface ActionAlertInfo {
    title?: string | undefined;
    message: string;
    prompt?: string | undefined;
    type?: ActionAlertType;
    onClose?: () => void;
    onEnter?: () => void;
    actions: {
        label: React.ReactNode;
        default?: boolean;
        handler?: () => void;
        type?: ActionAlertActionType;
    }[];
}
export interface BlockingAlertInfo {
    message: string;
    prompt?: string;
    showLoading?: boolean;
}
export declare class AlertService {
    readonly applicationStore: GenericLegendApplicationStore;
    blockingAlertInfo?: BlockingAlertInfo | undefined;
    actionAlertInfo?: ActionAlertInfo | undefined;
    constructor(applicationStore: GenericLegendApplicationStore);
    setBlockingAlert(alertInfo: BlockingAlertInfo | undefined): void;
    setActionAlertInfo(alertInfo: ActionAlertInfo | undefined): void;
}
//# sourceMappingURL=AlertService.d.ts.map