import { APIResource } from "../../../core/resource.mjs"; import * as GetAPI from "./get.mjs"; import { Get, PdfResponse } from "./get.mjs"; import { APIPromise } from "../../../core/api-promise.mjs"; import { RequestOptions } from "../../../internal/request-options.mjs"; export declare class PdfGenerator extends APIResource { get: GetAPI.Get; /** * Generate a new PDF presentation * * @example * ```ts * const pdfGenerator = await client.v1.pdfGenerator.create({ * locale: 'locale', * numberOfSlides: 1, * topic: 'topic', * }); * ``` */ create(body: PdfGeneratorCreateParams, options?: RequestOptions): APIPromise; /** * Delete a PDF presentation by ID * * @example * ```ts * const pdfGenerator = await client.v1.pdfGenerator.delete( * 'id', * ); * ``` */ delete(id: string, options?: RequestOptions): APIPromise; /** * Get all PDF presentations * * @example * ```ts * const pdfResponses = await client.v1.pdfGenerator.getAll(); * ``` */ getAll(options?: RequestOptions): APIPromise; /** * Get a PDF presentation by ID * * @example * ```ts * const pdfResponse = await client.v1.pdfGenerator.getByID( * 'id', * ); * ``` */ getByID(id: string, options?: RequestOptions): APIPromise; } export interface PdfGeneratorCreateResponse { presentation?: GetAPI.PdfResponse; success?: boolean; } export interface PdfGeneratorDeleteResponse { message?: string; success?: boolean; } export type PdfGeneratorGetAllResponse = Array; export interface PdfGeneratorCreateParams { /** * Locale/language for the presentation (e.g., en-US, es-ES, fr-FR) */ locale: string; /** * Number of slides to generate */ numberOfSlides: number; /** * The topic for the PDF presentation */ topic: string; /** * Custom images to use (required when imageMode is "provide-own") */ customImages?: Array; /** * Image handling mode: search (auto-search), provide-own (use custom images), none * (no images, use icons) */ imageMode?: 'search' | 'provide-own' | 'none'; /** * Custom logo URL to use (optional, falls back to default StudyFetch logo) */ logoUrl?: string; } export declare namespace PdfGeneratorCreateParams { interface CustomImage { /** * Description of what this image shows */ description: string; /** * Base64-encoded image data (provide either url or base64) */ base64?: string; /** * Image URL to download and use (provide either url or base64) */ url?: string; } } export declare namespace PdfGenerator { export { type PdfGeneratorCreateResponse as PdfGeneratorCreateResponse, type PdfGeneratorDeleteResponse as PdfGeneratorDeleteResponse, type PdfGeneratorGetAllResponse as PdfGeneratorGetAllResponse, type PdfGeneratorCreateParams as PdfGeneratorCreateParams, }; export { Get as Get, type PdfResponse as PdfResponse }; } //# sourceMappingURL=pdf-generator.d.mts.map