import { type IDashboard } from "@gooddata/sdk-model";
import { type ILocale } from "@gooddata/sdk-ui";
import { type CommandProcessingStatus } from "../../../model/react/useDashboardCommandProcessing.js";
interface IUseSaveAsResult {
    locale: ILocale;
    dashboardTitle: string;
    isDashboardSaving: boolean;
    isDashboardLoaded: boolean;
    isKpiWidgetEnabled: boolean;
    isInEditMode: boolean;
    /**
     * Function that triggers the SaveAs functionality. Optionally specify new title for
     * the dashboard copy and indicate whether the Dashboard component should switch to the newly
     * created copy after successful save.
     *
     * Default is false.
     */
    handleSaveAs: (title: string, switchToCopy?: boolean) => void;
    /**
     * Status of the save as operation.
     */
    saveAsStatus?: CommandProcessingStatus;
}
/**
 * @internal
 */
export interface IUseSaveAsProps {
    /**
     * Callback to be called, when user submit the scheduled email dialog.
     */
    onSubmit?: (title: string, switchToCopy?: boolean) => void;
    /**
     * Callback to be called, when submitting of the scheduled email was successful.
     */
    onSubmitSuccess?: (dashboard: IDashboard) => void;
    /**
     * Callback to be called, when submitting of the scheduled email failed.
     */
    onSubmitError?: (error: any) => void;
}
export declare const useSaveAs: (props: IUseSaveAsProps) => IUseSaveAsResult;
export {};
//# sourceMappingURL=useSaveAs.d.ts.map