import type { Queryable } from 'mysql2-async'; import type { PaginationResponse } from '@txstate-mws/graphql-server'; import { ScheduledPublish, ScheduledPublishAction, type ScheduledPublishFilter, type ScheduledPublishRecurrence, ScheduledPublishStatus } from '../internal.js'; export interface ScheduledPublishRow { id: number; pageInternalId: number; pageDataId: string | null; dataId: string | null; action: ScheduledPublishAction; targetDate: Date; status: ScheduledPublishStatus; recur: ScheduledPublishRecurrence | null; recurInterval: number | null; timezone: string | null; error: string | null; descendant: number; createdAt: Date; createdBy: string; updatedAt: Date; updatedBy: string; } export declare function getScheduledPublishes(filter?: ScheduledPublishFilter, tdb?: Queryable, pageInfo?: PaginationResponse): Promise; export declare function countScheduledPublishes(filter?: ScheduledPublishFilter, tdb?: Queryable): Promise; export interface ScheduledPublishRecurrenceData { recur: ScheduledPublishRecurrence; recurInterval: number; timezone: string; } export declare function createScheduledPublish(pageInternalId: number, action: ScheduledPublishAction, targetDate: Date, createdBy: string, recurrence?: ScheduledPublishRecurrenceData): Promise; export declare function updateScheduledPublish(id: number, updates: { action: ScheduledPublishAction; targetDate: Date; recur: ScheduledPublishRecurrence | null; recurInterval: number | null; timezone: string | null; updatedBy: string; }, tdb?: Queryable): Promise; export declare function updateScheduledPublishStatus(id: number, status: ScheduledPublishStatus, error?: string, tdb?: Queryable): Promise; export declare function cancelActiveSchedulesForPages(pageInternalIds: number[], tdb?: Queryable): Promise; export declare function logImmediatePublish(rootIds: number[], descendantIds: number[], action: ScheduledPublishAction, userId: string, tdb?: Queryable): Promise; export declare function logBackdatedDescendants(pageInternalIds: number[], parentSchedule: ScheduledPublish, tdb?: Queryable): Promise; export declare function getDueSchedules(tdb?: Queryable): Promise;