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 IWidget, type IWorkspaceUser, type WidgetAttachmentType } from "@gooddata/sdk-model"; import type { IAutomationFiltersTab } from "../../../../../model/store/filtering/types.js"; export interface IUseEditScheduledEmailProps { scheduledExportToEdit?: IAutomationMetadataObject; notificationChannels: INotificationChannelIdentifier[] | INotificationChannelMetadataObject[]; maxAutomationsRecipients: number; /** Workspace users, lazy-loaded in the connector and passed via dialog props. */ users: IWorkspaceUser[]; widget?: IWidget; 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; /** * Setter for editedFiltersByTab state. * Used to update filters for a specific tab. */ setEditedAutomationFiltersByTab?: (filters: Record) => void; filtersDataByTab?: IAutomationFiltersTab[] | undefined; availableFiltersAsVisibleFilters?: IAutomationVisibleFilter[] | undefined; availableFiltersAsVisibleFiltersByTab?: Record; storeFilters?: boolean; setStoreFilters: (storeFilters: boolean) => void; filtersForNewAutomation: FilterContextItem[]; externalRecipientOverride?: string; defaultPdfPageSize?: IExportDefinitionVisualizationObjectSettings["pageSize"]; } export declare function useEditScheduledEmail({ scheduledExportToEdit, notificationChannels, insight, widget, users, editedAutomationFilters, dashboardFilters, editedAutomationFiltersByTab, maxAutomationsRecipients, setEditedAutomationFilters, setEditedAutomationFiltersByTab, availableFiltersAsVisibleFilters, storeFilters, setStoreFilters, filtersForNewAutomation, externalRecipientOverride, defaultPdfPageSize, filtersDataByTab, availableFiltersAsVisibleFiltersByTab }: IUseEditScheduledEmailProps): { defaultUser: 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[], storeFiltersParam?: boolean | undefined) => void; onApplyCurrentFilters: () => void; onStoreFiltersChange: (value: boolean, filters?: FilterContextItem[] | undefined, filtersByTabParam?: Record | undefined) => void; onFiltersByTabChange: (newFiltersByTab: Record, storeFiltersParam?: boolean | undefined) => void; setParametersWire: (wire: Record | undefined) => void; enableAutomationEvaluationMode: boolean; }; //# sourceMappingURL=useEditScheduledEmail.d.ts.map