import type { DataSourceHandle, PropertyHandle } from "./notion-as-code/database.js"; import type { NotionAsCodeSchema } from "./notion-as-code/intents.js"; import type { RecurrenceSchedule } from "./notion-as-code/recurrence.js"; export type RecurrenceTrigger = { type: "recurrence"; } & (RecurrenceSchedule | { frequency?: never; }); export type NotionPageCreatedTrigger = { type: "notion.page.created"; dataSourceResourceId?: string; }; export type NotionPageUpdatedTrigger = { type: "notion.page.updated"; dataSourceResourceId?: string; propertyResourceIds?: string[]; includePageContent?: boolean; }; type WatchablePropertyType = "title" | "text" | "number" | "select" | "multi_select" | "status" | "date" | "person" | "checkbox" | "url" | "email" | "phone_number" | "relation"; type WatchableProperty = Property extends { type: WatchablePropertyType; } ? PropertyHandle : never; type SourceProperty = WatchableProperty; export type PageUpdatedOptions = { dataSource: DataSourceHandle; } & ({ properties: readonly [ SourceProperty>, ...SourceProperty>[] ]; includePageContent?: boolean; } | { properties?: readonly SourceProperty>[]; includePageContent: true; }); /** Configure a recurrence, or omit options to set it up in Notion. */ export declare function scheduled(options?: RecurrenceSchedule): RecurrenceTrigger; /** Watch new rows in a declared data source, or configure the source in Notion. */ export declare function notionPageCreated(options?: { dataSource: DataSourceHandle; }): NotionPageCreatedTrigger; /** Watch typed properties and/or page content in a declared data source. */ export declare function notionPageUpdated(options?: PageUpdatedOptions): NotionPageUpdatedTrigger; export {}; //# sourceMappingURL=configured-events.d.ts.map