// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../../resource'; import * as Core from '../../core'; export class Markdown extends APIResource { /** * Gets markdown of a webpage from provided URL or HTML. Control page loading with * `gotoOptions` and `waitFor*` options. * * @example * ```ts * const markdown = * await client.browserRendering.markdown.create({ * account_id: 'account_id', * url: 'https://www.example.com/', * }); * ``` */ create( params: MarkdownCreateParams, options?: Core.RequestOptions, ): Core.APIPromise { const { account_id, cacheTTL, ...body } = params; return ( this._client.post(`/accounts/${account_id}/browser-rendering/markdown`, { query: { cacheTTL }, body, ...options, }) as Core.APIPromise<{ result: MarkdownCreateResponse }> )._thenUnwrap((obj) => obj.result); } } /** * Markdown content. */ export type MarkdownCreateResponse = string; export type MarkdownCreateParams = MarkdownCreateParams.Variant0 | MarkdownCreateParams.Variant1; export declare namespace MarkdownCreateParams { export interface Variant0 { /** * Path param: Account ID. */ account_id: string; /** * Body param: URL to navigate to, eg. `https://example.com`. */ url: string; /** * Query param: Cache TTL default is 5s. Set to 0 to disable. */ cacheTTL?: number; /** * Body param: The maximum duration allowed for the browser action to complete * after the page has loaded (such as taking screenshots, extracting content, or * generating PDFs). If this time limit is exceeded, the action stops and returns a * timeout error. */ actionTimeout?: number; /** * Body param: Adds a `