import type { IntegrationAccountReference } from "../../../automation/integrations.js"; export { GOOGLE_FORMS_FORM_CHANGED_EVENT_SCHEMA, GOOGLE_FORMS_NOTIFICATION_SCHEMA, } from "@automate.ax/integration-contracts/google-forms"; /** Options for subscribing to Google Form content and settings changes. */ export interface OnGoogleFormChangedOptions { /** * Google account binding used to watch the form. * * Omitting this value uses the project's default Google account binding. */ account?: string | IntegrationAccountReference<"google">; /** Google Form ID or standard Forms URL. */ form: string; } /** * Subscribes to changes to a form's content and settings. * * The signal exposes the current normalized form directly and preserves * provider notification metadata under `event`. * * @param options - Form and Google account selection. * @throws When the account selection is dynamic or belongs to another service. */ export declare const onGoogleFormChanged: (options: OnGoogleFormChangedOptions) => import("../../..").Signal<{ editUrl: string; formId: string; items: { index: number; itemId: string; questions: { choices: string[]; questionId: string; required: boolean; type: "unknown" | "date" | "checkbox" | "time" | "duration" | "rating" | "scale" | "multipleChoice" | "fileUpload" | "shortText" | "paragraph" | "dropdown" | "gridRow"; date?: { includeTime: boolean; includeYear: boolean; } | undefined; fileUpload?: { types: string[]; folderId?: string | undefined; maxFileSizeBytes?: string | undefined; maxFiles?: number | undefined; } | undefined; grading?: { correctAnswers: string[]; correct?: boolean | undefined; feedback?: string | undefined; points?: number | undefined; score?: number | undefined; whenWrong?: string | undefined; whenRight?: string | undefined; } | undefined; rating?: { icon: string; levels: number; } | undefined; rowTitle?: string | undefined; scale?: { high: number; low: number; highLabel?: string | undefined; lowLabel?: string | undefined; } | undefined; }[]; title: string; type: "unknown" | "image" | "video" | "text" | "grid" | "question" | "pageBreak"; description?: string | undefined; }[]; settings: { emailCollection: "none" | "verified" | "respondentInput"; isQuiz: boolean; }; title: string; event: { formId: string; messageId: string; publishTime: string; watchId: string; eventType: "SCHEMA"; }; linkedSheetId?: string | undefined; publishSettings?: { isAcceptingResponses: boolean; isPublished: boolean; } | undefined; responderUrl?: string | undefined; revisionId?: string | undefined; description?: string | undefined; documentTitle?: string | undefined; }>; /** Options for subscribing to Google Form submissions. */ export interface OnGoogleFormResponseSubmittedOptions { /** * Google account binding used to watch the form. * * Omitting this value uses the project's default Google account binding. */ account?: string | IntegrationAccountReference<"google">; /** Google Form ID or standard Forms URL. */ form: string; } /** * Subscribes to new and edited submissions for a Google Form. * * Google reports both first-time responses and respondent edits as response * submissions. The signal contains the fully normalized response. * * @param options - Form and Google account selection. * @throws When the account selection is dynamic or belongs to another service. */ export declare const onGoogleFormResponseSubmitted: (options: OnGoogleFormResponseSubmittedOptions) => import("../../..").Signal<{ answers: { files: { fileId: string; fileName: string; mimeType: string; }[]; questionId: string; values: string[]; grade?: { correctAnswers: string[]; correct?: boolean | undefined; feedback?: string | undefined; points?: number | undefined; score?: number | undefined; whenWrong?: string | undefined; whenRight?: string | undefined; } | undefined; questionTitle?: string | undefined; }[]; formId: string; responseId: string; createTime?: string | undefined; lastSubmittedTime?: string | undefined; respondentEmail?: string | undefined; totalScore?: number | undefined; }>; //# sourceMappingURL=index.d.ts.map