import { type IAutomationMetadataObject } from "@gooddata/sdk-model";
import { type DashboardContext } from "../types/commonTypes.js";
import { type IDashboardEvent } from "./base.js";
/**
 * Payload of the {@link IDashboardScheduledEmailCreated} event.
 * @beta
 */
export interface IDashboardScheduledEmailCreatedPayload {
    /**
     * The scheduled email created.
     */
    readonly scheduledEmail: IAutomationMetadataObject;
}
/**
 * This event is emitted after the scheduled email is successfully created.
 *
 * @beta
 */
export interface IDashboardScheduledEmailCreated extends IDashboardEvent {
    readonly type: "GDC.DASH/EVT.SCHEDULED_EMAIL.CREATED";
    readonly payload: IDashboardScheduledEmailCreatedPayload;
}
export declare function scheduledEmailCreated(ctx: DashboardContext, scheduledEmail: IAutomationMetadataObject, correlationId?: string): IDashboardScheduledEmailCreated;
/**
 * Tests whether the provided object is an instance of {@link IDashboardScheduledEmailCreated}.
 *
 * @param obj - object to test
 * @beta
 */
export declare const isDashboardScheduledEmailCreated: (obj: unknown) => obj is IDashboardScheduledEmailCreated;
/**
 * This event is emitted after the scheduled email is successfully saved.
 *
 * @beta
 */
export interface IDashboardScheduledEmailSaved extends IDashboardEvent {
    readonly type: "GDC.DASH/EVT.SCHEDULED_EMAIL.SAVED";
}
export declare function scheduledEmailSaved(ctx: DashboardContext, correlationId?: string): IDashboardScheduledEmailSaved;
/**
 * Tests whether the provided object is an instance of {@link IDashboardScheduledEmailSaved}.
 *
 * @param obj - object to test
 * @beta
 */
export declare const isDashboardScheduledEmailSaved: (obj: unknown) => obj is IDashboardScheduledEmailSaved;
/**
 * This event is emitted after the automations are refreshed (after creating, updating, or removing alerts or scheduled exports).
 *
 * @beta
 */
export interface IDashboardAutomationsRefreshed extends IDashboardEvent {
    readonly type: "GDC.DASH/EVT.AUTOMATIONS.REFRESHED";
}
export declare function automationsRefreshed(ctx: DashboardContext, correlationId?: string): IDashboardAutomationsRefreshed;
/**
 * Tests whether the provided object is an instance of {@link IDashboardAutomationsRefreshed}.
 *
 * @param obj - object to test
 * @beta
 */
export declare const isDashboardAutomationsRefreshed: (obj: unknown) => obj is IDashboardAutomationsRefreshed;
//# sourceMappingURL=scheduledEmail.d.ts.map