import { ValidatedResponse, type ValidatedResponseArgs } from '@txstate-mws/graphql-server'; import { DateTime } from 'luxon'; import type { ScheduledPublishRow, Page } from '../internal.js'; export declare enum ScheduledPublishAction { PUBLISH = "PUBLISH", PUBLISH_WITH_SUBPAGES = "PUBLISH_WITH_SUBPAGES", UNPUBLISH = "UNPUBLISH" } export declare enum ScheduledPublishStatus { PENDING = "PENDING", COMPLETED = "COMPLETED", FAILED = "FAILED", CANCELLED = "CANCELLED" } export declare enum ScheduledPublishRecurrence { DAY = "DAY", WEEK = "WEEK", MONTH = "MONTH" } export declare class ScheduledPublishRecurrenceInfo { type: ScheduledPublishRecurrence; interval: number; timezone: string; constructor(type: ScheduledPublishRecurrence, interval: number, timezone: string); } export declare class ScheduledPublish { id: string; internalId: number; pageInternalId: number; pageDataId: string; page?: Page; action: ScheduledPublishAction; targetDate: DateTime; status: ScheduledPublishStatus; recurrence?: ScheduledPublishRecurrenceInfo; error?: string; immediate: boolean; descendant: boolean; createdAt: DateTime; createdBy: string; updatedAt: DateTime; updatedBy: string; constructor(row: ScheduledPublishRow); } export declare class ScheduledPublishFilter { ids?: string[]; internalIds?: number[]; pageIds?: string[]; pageInternalIds?: number[]; actions?: ScheduledPublishAction[]; statuses?: ScheduledPublishStatus[]; targetDateBefore?: DateTime; targetDateAfter?: DateTime; updatedBefore?: DateTime; updatedAfter?: DateTime; immediate?: boolean; } export declare class ScheduledPublishRecurrenceInput { type: ScheduledPublishRecurrence; interval?: number; timezone?: string; } export declare class CreateScheduledPublishInput { pageId: string; action: ScheduledPublishAction; targetDate: DateTime; recurrence?: ScheduledPublishRecurrenceInput; } export declare class UpdateScheduledPublishInput { action: ScheduledPublishAction; targetDate: DateTime; recurrence?: ScheduledPublishRecurrenceInput | null; } export declare class ScheduledPublishResponse extends ValidatedResponse { scheduledPublish?: ScheduledPublish; constructor(config?: ValidatedResponseArgs & { scheduledPublish?: ScheduledPublish; }); } export declare class ScheduledPublishPermissions { }