import { type slides_v1 } from "@googleapis/slides"; import * as z from "zod"; export declare const GOOGLE_SLIDES_READ_REQUIREMENT: import("@automate.ax/catalog").ScopeRequirementGroup; export declare const GOOGLE_SLIDES_WRITE_REQUIREMENT: import("@automate.ax/catalog").ScopeRequirementGroup; export declare const GOOGLE_PRESENTATION_SCHEMA: z.ZodObject<{ locale: z.ZodOptional; pageSize: z.ZodOptional>; width: z.ZodOptional>; }, z.core.$strip>>; presentationId: z.ZodString; revisionId: z.ZodOptional; slides: z.ZodArray>; title: z.ZodString; url: z.ZodURL; }, z.core.$strip>; export declare const GOOGLE_PRESENTATION_UPDATE_SCHEMA: z.ZodObject<{ objectIds: z.ZodArray; occurrencesChanged: z.ZodNumber; presentationId: z.ZodString; revisionId: z.ZodOptional; }, z.core.$strip>; /** * Creates the official Slides client from a refreshed Google secret. * * @param secret - Refreshed Google account secret. */ export declare function getGoogleSlidesApi(secret: Record): slides_v1.Slides; /** * Accepts a raw presentation ID or standard Google Slides URL. * * @param presentation - Raw presentation ID or URL. * @throws When a URL is not a recognizable Google Slides presentation URL. */ export declare function normalizeGooglePresentationId(presentation: string): string; /** * Converts a provider presentation into the stable public shape. * * @param presentation - Provider presentation response. * @throws When required presentation metadata is absent. */ export declare function normalizeGooglePresentation(presentation: slides_v1.Schema$Presentation): { locale: string | undefined; pageSize: { height: { magnitude: number; unit: string; } | undefined; width: { magnitude: number; unit: string; } | undefined; } | undefined; presentationId: string; revisionId: string | undefined; slides: { index: number; objectId: string; }[]; title: string; url: string; }; /** * Converts a provider update response into the stable public shape. * * @param response - Provider batch-update response. * @throws When the response omits its presentation ID. */ export declare function normalizeGooglePresentationUpdate(response: slides_v1.Schema$BatchUpdatePresentationResponse): { objectIds: string[]; occurrencesChanged: number; presentationId: string; revisionId: string | undefined; }; /** * Creates provider element placement and sizing properties. * * @param input - Page, size, and position coordinates. * @param input.height - Optional element height in points. * @param input.pageObjectId - Parent slide object ID. * @param input.width - Optional element width in points. * @param input.x - Optional horizontal offset in points. * @param input.y - Optional vertical offset in points. */ export declare function googleSlidesElementProperties(input: { height?: number; pageObjectId: string; width?: number; x?: number; y?: number; }): { pageObjectId: string; size: { height: { magnitude: number; unit: string; } | undefined; width: { magnitude: number; unit: string; } | undefined; } | undefined; transform: { scaleX: number; scaleY: number; translateX: number; translateY: number; unit: string; } | undefined; }; /** * Creates a provider presentation text range. * * @param input - Optional start and end coordinates. * @param input.endIndex - Exclusive range end. * @param input.startIndex - Inclusive range start. */ export declare function googleSlidesTextRange(input: { endIndex?: number; startIndex?: number; }): { type: string; startIndex?: undefined; endIndex?: undefined; } | { startIndex: number | undefined; type: string; endIndex?: undefined; } | { endIndex: number; startIndex: number; type: string; }; /** * Converts a validated hex color to the Slides RGB shape. * * @param value - Six-digit hex color. */ export declare function hexToSlidesColor(value: string): { opaqueColor: { rgbColor: { blue: number; green: number; red: number; }; }; }; //# sourceMappingURL=lib.d.ts.map