import { ClientSDK, RequestOptions } from "../lib/sdks.js"; import { PageIterator } from "../sdk/types/operations.js"; import * as operations from "./models/operations/index.js"; import * as shared from "./models/shared/index.js"; import { WebhookRequiredHeaders, WebhookUnbrandedRequiredHeaders } from "svix"; import { GetAuthorizationUrlRequest } from "../funcs/getAuthorizationUrl.js"; import { TokenStore } from "../funcs/withAuthorization.js"; export declare class Fathom extends ClientSDK { static newTokenStore(): TokenStore; static getAuthorizationUrl(request: GetAuthorizationUrlRequest): string; static withAuthorization({ clientId, clientSecret, code, redirectUri, tokenStore }: { clientId: string; clientSecret: string; code: string; redirectUri: string; tokenStore: TokenStore; }): () => Promise; static verifyWebhook(webhookSecret: string, headers: WebhookRequiredHeaders | WebhookUnbrandedRequiredHeaders | Record, payload: string | Buffer): unknown; /** * List meetings */ listMeetings(request?: operations.ListMeetingsRequest | undefined, options?: RequestOptions): Promise>; /** * Get summary * * @remarks * This endpoint has two behaviors depending on your request payload: * - If you send `destination_url`, the endpoint will behave in an asynchronous manner. * - If you do not send `destination_url`, the endpoint will return the data directly. */ getRecordingSummary(request: operations.GetRecordingSummaryRequest, options?: RequestOptions): Promise; /** * Get transcript * * @remarks * This endpoint has two behaviors depending on your request payload: * - If you send `destination_url`, the endpoint will behave in an asynchronous manner. * - If you do not send `destination_url`, the endpoint will return the data directly. */ getRecordingTranscript(request: operations.GetRecordingTranscriptRequest, options?: RequestOptions): Promise; /** * Request a download * * @remarks * Starts asynchronous generation of a downloadable file for the recording and returns a * `download_id` to poll. Video recordings are generated in the background; audio-only * recordings complete immediately, so the response may already carry `status: completed` * with the file payload. * * Downloads are private to the API client that created them, and their URLs expire * roughly 24 hours after generation - request a new download when one expires. * * Downloading requires more access than viewing: the recording's owner, teammates who * can view the recording, and people it was shared with at standard or admin level can * download it. Limited-access shares receive `403 Forbidden`. * * Receive the result either by polling the download status endpoint, or by sending * `destination_url` - when the download completes, Fathom POSTs the same payload the * status endpoint returns to it, signed like our webhooks. */ createRecordingDownload(request: operations.CreateRecordingDownloadRequest, options?: RequestOptions): Promise; /** * Get download status * * @remarks * Returns the status of a download created with the request-a-download endpoint. When the * download is completed, the payload carries a short-lived signed URL for the generated * file. Only the API client that created the download can read it. */ getRecordingDownload(request: operations.GetRecordingDownloadRequest, options?: RequestOptions): Promise; /** * List teams */ listTeams(request?: operations.ListTeamsRequest | undefined, options?: RequestOptions): Promise>; /** * List team members */ listTeamMembers(request?: operations.ListTeamMembersRequest | undefined, options?: RequestOptions): Promise>; /** * List users and their permissions * * @remarks * List every user in the account along with their permissions. Restricted to account admins: if the API key does not belong to a user whose `settings_access` level is `account_admin`, this endpoint returns `403 Forbidden`. * * By default the list contains active and deactivated members followed by pending invitees — keep following `next_cursor` to page through all of them. Use `status` to narrow to one group. Invited users have no permissions yet, so their items omit the `permissions` object and `created_at` is the date they were invited. */ listUsers(request?: operations.ListUsersRequest | undefined, options?: RequestOptions): Promise>; /** * List meeting types * * @remarks * List your team's published meeting types (both `active` and `inactive`). Draft meeting types, which are not yet fully created and never appear on meetings, are excluded. Use the returned `name` values to filter /meetings via its meeting_type parameter. */ listMeetingTypes(request?: operations.ListMeetingTypesRequest | undefined, options?: RequestOptions): Promise>; /** * Create a webhook * * @remarks * Create a webhook to receive new meeting content. * At least one of `include_transcript`, `include_crm_matches`, `include_summary`, or `include_action_items` must be true. */ createWebhook(request: operations.CreateWebhookRequest, options?: RequestOptions): Promise; /** * Delete a webhook * * @remarks * Delete a webhook. */ deleteWebhook(request: operations.DeleteWebhookRequest, options?: RequestOptions): Promise; } //# sourceMappingURL=sdk.d.ts.map