import { DomainRole } from './Domain'; export type LoginRequest = { username: string; password: string; }; export type LoginResponse = { Token: string; }; export type SendPasswordResetEmailRequest = { username: string; }; export type SendPasswordResetEmailResponse = undefined; export type ResetPasswordInput = { username: string; newPassword: string; resetToken: string; }; export type ResetPasswordRequest = { username: string; new_password: string; reset_token: string; }; export type ResetPasswordResponse = string; export type MasqueradeRequest = { email: string; }; export type MasqueradeResponse = { token: string; roles: string[]; }; export type RemoteAssistRequest = { email: string; }; export type RemoteAssistResponse = { token: string; roles: string[]; }; export type UnsubscribeRequest = undefined; export type UnsubscribeResponse = string; export type ProfileResponse = { analytics_onboarding_enabled: boolean; id: string; email: string; name: string; created_at: string; updated_at: string; thumbnail_url: string | null; domain_id: string; customer_id: string | null; enable_device_offline_notifications: boolean; remote_assistance_grant_level: string | null; remote_assistance_expires_at: string | null; enable_api_v3: boolean; mfa_enabled: boolean; domain_role: DomainRole; poly_service_level: 'full' | 'free' | null; is_multitimezone_enabled: boolean; is_freetrial_user: boolean; is_location_enabled: boolean; is_stripe_payment_method_added: boolean; }; export type Profile = { analyticsOnboardingEnabled: boolean; id: string; email: string; name: string; createdAt: string; updatedAt: string; thumbnailUrl: string | null; domainId: string; customerId: string | null; enableDeviceOfflineNotifications: boolean; remoteAssistanceGrantLevel: string | null; remoteAssistanceExpiresAt: string | null; mfaEnabled: boolean; enableApiV3: boolean; domainRole: DomainRole; polyServiceLevel: 'full' | 'free' | null; isMultiTimezoneEnabled: boolean; isFreetrialUser: boolean; isLocationEnabled: boolean; isStripePaymentMethodAdded: boolean; }; export type GetProfileRequest = undefined; export type GetProfileResponse = ProfileResponse; export type UpdateProfile = Pick< Profile, | 'name' | 'enableDeviceOfflineNotifications' | 'remoteAssistanceGrantLevel' | 'remoteAssistanceExpiresAt' >; export type UpdateProfileRequest = Pick< ProfileResponse, | 'analytics_onboarding_enabled' | 'name' | 'enable_device_offline_notifications' | 'mfa_enabled' | 'remote_assistance_grant_level' | 'remote_assistance_expires_at' >; export type UpdateProfileResponse = ProfileResponse; export interface SetRemoteAssistanceRequest { remote_assistance_grant_level: string | null; remote_assistance_expires_at: string | null; } export type SetRemoteAssistanceResponse = undefined; export type ChangeEmailRequest = { email: string; password: string; }; export type ChangeEmailResponse = undefined; export type Onboarding = { name: string; completedAt: string | null; }; export type OnboardingResponse = { name: string; completed_at: string | null; }; export type GetOnboardingRequest = undefined; export type GetOnboardingResponse = OnboardingResponse[]; export type UpdateOnboardingRequest = { name: string; }; export type UpdateOnboardingResponse = undefined; export type DeviceLicenseResponse = { license_type: string; count: number; }; export type DeviceLicense = { licenseType: string; count: number; }; export type GetProfileDeviceLicensesRequest = undefined; export type GetProfileDeviceLicensesResponse = DeviceLicenseResponse[]; export type GetProfileDeviceLicenses = DeviceLicense[]; export type BillingAccount = { id: string; name: string; }; export type GetBillingAccountsRequest = undefined; export type GetBillingAccountsResponse = BillingAccount[]; export type CreateBillingPortalSessionRequest = { account_id: string; }; export type CreateBillingPortalSessionResponse = { url: string; };