import { RpcMethod } from './commonTypes'; export type ApplicationEmailFromsService_List = RpcMethod; export type ApplicationEmailFromsService_Use = RpcMethod; export type ApplicationEmailFromsService_GetEmailFooter = RpcMethod; export type ApplicationEmailFromsService_SetEmailFooter = RpcMethod; export interface ApplicationEmailFromsService { /** Lists the sender ("From") email addresses previously used for an application's email sends, most-recently-used first. Use to populate the From-address picker before composing an email or calling use_email_from. */ List: ApplicationEmailFromsService_List; /** Records a sender ("From") email address for an application: bumps its last-used time if it already exists, otherwise validates its syntax and creates it. Call when a user picks or enters a From address so it appears in list_email_froms. */ Use: ApplicationEmailFromsService_Use; /** Returns the configured email footer (company name, address, copyright, unsubscribe label, nav/social links, app-store badges) for an application, or empty if none is set. Use before rendering or editing the footer shown at the bottom of the app's emails. */ GetEmailFooter: ApplicationEmailFromsService_GetEmailFooter; /** Creates or overwrites the email footer configuration for an application (company name, address, copyright, links, social, app-store badges). Use to save footer edits; replaces any existing footer and requires application-management permission. */ SetEmailFooter: ApplicationEmailFromsService_SetEmailFooter; } export type ListRequest = { /** Application code (format XXXXX-XXXXX) whose From addresses to list. */ application?: string; }; export type ListResponse = { emails: string[]; }; export type UseRequest = { /** Application code (format XXXXX-XXXXX) to record the From address for. */ application?: string; /** Sender ("From") email address to record; validated for syntax when new. */ email?: string; }; export type UseResponse = {}; export type SocialPlatform = 'SOCIAL_PLATFORM_UNSPECIFIED' | 'SOCIAL_PLATFORM_FACEBOOK' | 'SOCIAL_PLATFORM_X' | 'SOCIAL_PLATFORM_INSTAGRAM' | 'SOCIAL_PLATFORM_LINKEDIN' | 'SOCIAL_PLATFORM_YOUTUBE' | 'SOCIAL_PLATFORM_TIKTOK'; export type AppStorePlatform = 'APP_STORE_PLATFORM_UNSPECIFIED' | 'APP_STORE_PLATFORM_APP_STORE' | 'APP_STORE_PLATFORM_GOOGLE_PLAY'; export type NavLink = { label: string; url: string; /** Per-language label overrides keyed by language code; a missing key falls back to label. */ translations: Record; /** Per-language URL overrides (per-locale privacy policy etc.); a missing key falls back to url. */ urlTranslations: Record; }; export type SocialLink = { platform: SocialPlatform; url: string; }; export type AppBadge = { platform: AppStorePlatform; url: string; }; export type EmailFooter = { companyName: string; address: string; copyright: string; unsubscribeLabel: string; links: NavLink[]; social: SocialLink[]; appBadges: AppBadge[]; /** Brand logo shown at the top of the footer; absolute image URL, empty = no logo. */ logoUrl: string; /** Rendered logo width in px; 0 = the renderer default. */ logoWidth: number; /** Click-through URL for the logo; empty = plain image. */ logoLink: string; /** * Per-language overrides of the text fields, keyed by language code; a * missing key falls back to the base field. Mirrors the per-document * pushwoosh.aibuilder.v1.FooterContent translation maps. */ unsubscribeLabelTranslations: Record; copyrightTranslations: Record; companyNameTranslations: Record; addressTranslations: Record; }; export type GetEmailFooterRequest = { /** Application code (format XXXXX-XXXXX) whose email footer to fetch. */ application?: string; }; export type GetEmailFooterResponse = { footer: EmailFooter; }; export type SetEmailFooterRequest = { /** Application code (format XXXXX-XXXXX) whose email footer to save. */ application?: string; /** Footer configuration to store; overwrites the current footer (omit to clear). */ footer?: EmailFooter; }; export type SetEmailFooterResponse = {};