import { type DashboardAttachmentType, type FilterContextItem, type IAutomationMetadataObject, type IAutomationMetadataObjectDefinition, type IAutomationRecipient, type IAutomationVisibleFilter, type IDashboardExportParameter, type IExportDefinitionVisualizationObjectSettings, type IFilter, type IInsight, type INotificationChannelIdentifier, type INotificationChannelMetadataObject, type WidgetAttachmentType } from "@gooddata/sdk-model";
import type { IAutomationFiltersTab } from "../../../../../model/store/filtering/types.js";
import { type ExtendedDashboardWidget } from "../../../../../model/types/layoutTypes.js";
export interface IUseEditScheduledEmailProps {
    scheduledExportToEdit?: IAutomationMetadataObject;
    notificationChannels: INotificationChannelIdentifier[] | INotificationChannelMetadataObject[];
    maxAutomationsRecipients: number;
    widget?: ExtendedDashboardWidget;
    insight?: IInsight;
    widgetFilters?: IFilter[];
    editedAutomationFilters?: FilterContextItem[];
    dashboardFilters?: FilterContextItem[];
    setEditedAutomationFilters: (filters: FilterContextItem[]) => void;
    /**
     * Edited filters structured by tab ID for dashboard automations with tabs enabled.
     * When provided, these are used instead of dashboardFilters for per-tab filter storage.
     */
    editedAutomationFiltersByTab?: Record<string, FilterContextItem[]>;
    /**
     * Setter for editedFiltersByTab state.
     * Used to update filters for a specific tab.
     */
    setEditedAutomationFiltersByTab?: (filters: Record<string, FilterContextItem[]>) => void;
    filtersDataByTab?: IAutomationFiltersTab[] | undefined;
    availableFiltersAsVisibleFilters?: IAutomationVisibleFilter[] | undefined;
    availableFiltersAsVisibleFiltersByTab?: Record<string, IAutomationVisibleFilter[]>;
    storeFilters?: boolean;
    setStoreFilters: (storeFilters: boolean) => void;
    filtersForNewAutomation: FilterContextItem[];
    externalRecipientOverride?: string;
    enableNewScheduledExport: boolean;
    defaultPdfPageSize?: IExportDefinitionVisualizationObjectSettings["pageSize"];
}
export declare function useEditScheduledEmail({ scheduledExportToEdit, notificationChannels, insight, widget, editedAutomationFilters, dashboardFilters, editedAutomationFiltersByTab, maxAutomationsRecipients, setEditedAutomationFilters, setEditedAutomationFiltersByTab, availableFiltersAsVisibleFilters, storeFilters, setStoreFilters, filtersForNewAutomation, externalRecipientOverride, enableNewScheduledExport, defaultPdfPageSize, filtersDataByTab, availableFiltersAsVisibleFiltersByTab }: IUseEditScheduledEmailProps): {
    defaultUser: import("@gooddata/sdk-model").IWorkspaceUser;
    areDashboardFiltersChanged: boolean;
    originalAutomation: IAutomationMetadataObjectDefinition;
    editedAutomation: IAutomationMetadataObjectDefinition;
    isCronValid: boolean;
    notificationChannels: INotificationChannelIdentifier[] | INotificationChannelMetadataObject[];
    isDashboardExportSelected: boolean;
    isCsvExportSelected: boolean;
    isXlsxExportSelected: boolean;
    xlsxSettings: {
        mergeHeaders: boolean;
        exportInfo: boolean;
    };
    pdfSettings: {
        pageSize: "A3" | "A4" | "LETTER";
        orientation: "landscape" | "portrait";
        exportInfo: boolean;
    };
    csvSettings: {
        delimiter: string;
    };
    csvRawSettings: {
        delimiter: string;
    };
    startDate: Date;
    allowOnlyLoggedUserRecipients: boolean;
    allowExternalRecipients: boolean;
    validationErrorMessage: string | undefined;
    isSubmitDisabled: boolean | undefined;
    storeFilters: boolean | undefined;
    selectedAttachments: ("CSV" | "CSV_RAW" | "HTML" | "PDF" | "PDF_SLIDES" | "PDF_TABULAR" | "PNG" | "PPTX" | "XLSX")[];
    isParentValid: boolean;
    onTitleChange: (value: string, isValid: boolean) => void;
    onRecurrenceChange: (cronExpression: string, startDate: Date | null, isValid: boolean) => void;
    onEvaluationModeChange: (isShared: boolean) => void;
    onDestinationChange: (notificationChannelId: string) => void;
    onRecipientsChange: (updatedRecipients: IAutomationRecipient[]) => void;
    onSubjectChange: (value: string | number, isValid: boolean) => void;
    onMessageChange: (value: string, isValid: boolean) => void;
    onDashboardAttachmentsChange: (formats: DashboardAttachmentType[]) => void;
    onWidgetAttachmentsChange: (formats: WidgetAttachmentType[]) => void;
    onXlsxSettingsChange: (settings: IExportDefinitionVisualizationObjectSettings) => void;
    onPdfSettingsChange: (settings: IExportDefinitionVisualizationObjectSettings) => void;
    onCsvSettingsChange: (settings: IExportDefinitionVisualizationObjectSettings) => void;
    onCsvRawSettingsChange: (settings: IExportDefinitionVisualizationObjectSettings) => void;
    slidesTemplateIds: {
        PPTX: string | undefined;
        PDF_SLIDES: string | undefined;
        PDF: string | undefined;
    };
    onSlidesTemplateIdChange: (templateId: string | undefined, format: "PDF" | "PDF_SLIDES" | "PPTX") => void;
    onFiltersChange: (filters: FilterContextItem[], enableNewScheduledExport: boolean, storeFiltersParam?: boolean | undefined) => void;
    onApplyCurrentFilters: () => void;
    onStoreFiltersChange: (value: boolean, filters?: FilterContextItem[] | undefined, filtersByTabParam?: Record<string, FilterContextItem[]> | undefined) => void;
    onFiltersByTabChange: (newFiltersByTab: Record<string, FilterContextItem[]>, storeFiltersParam?: boolean | undefined) => void;
    setParametersWire: (wire: Record<string, IDashboardExportParameter[]> | undefined) => void;
    enableAutomationEvaluationMode: boolean;
};
//# sourceMappingURL=useEditScheduledEmail.d.ts.map