import { FetchState, ID } from '../../commonStateTypes/common'; import { ZeniAPIStatus } from '../../responsePayload'; import ZeniUrl from '../../zeniUrl'; import { SubscriptionSummaryPayload } from '../subscription/subscriptionSummary/subscriptionSummaryPayload'; import { UserRolePayload } from '../userRole/userRolePayload'; import { CapitalizableAccountsPayload, ConnectionDataPayload, ConnectionWithMetaPayload, ConnectionsPayload, LoggedInUserPayload, RoleResourcePayload, TenantPayload, TenantUserPayload, TenantsData } from './tenantPayload'; import { CapitalizableAccounts, Connection, RoleResource, TenantState } from './tenantState'; import { AuthProvider } from './tenantTypes'; export interface DoSignInPayload { appType: 'web' | 'mobile'; authCode: string; oauthProvider: AuthProvider; redirectUri: ZeniUrl; sourceUri: ZeniUrl; } export declare const toExternalIntegrationType: (v: string) => "revenue" | "email" | "payments"; export type ExternalIntegrationType = ReturnType; export type ConnectorCredentialsBySlug = { connectionName: 'stripe'; credentials: { api_key: string; }; } | { connectionName: 'mercury'; credentials: { api_key: string; }; } | { connectionName: 'paypal'; credentials: { client_id: string; client_secret: string; }; }; export declare const initialState: TenantState; export declare const updateTenants: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenants: TenantPayload[], userTenantPayload?: TenantUserPayload | undefined, tenantUpdated?: any], { tenants: TenantPayload[]; userTenantPayload: TenantUserPayload | undefined; tenantUpdated: any; }, "tenant/updateTenants", never, never>, fetchAllTenants: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[userId: string, zeniSessionId?: string | undefined], { userId: string; zeniSessionId: string | undefined; }, "tenant/fetchAllTenants", never, never>, updateTenantsSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload, updateTenantsFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload>, "tenant/updateTenantsFailure">, fetchActiveTenant: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[userId: string, tenantId: string, zeniSessionId?: string | undefined], { userId: string; tenantId: string; zeniSessionId: string | undefined; }, "tenant/fetchActiveTenant", never, never>, updateTenantSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload, updateTenantFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload>, "tenant/updateTenantFailure">, updateCurrentTenant: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload, fetchExcludedResources: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[userId: string, tenantId: string], { userId: string; tenantId: string; }, "tenant/fetchExcludedResources", never, never>, updateExcludedResourcesSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, excludedResources: RoleResourcePayload[]], { tenantId: string; excludedResources: RoleResourcePayload[]; }, "tenant/updateExcludedResourcesSuccess", never, never>, updateExcludedResourcesFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, status: ZeniAPIStatus>], { tenantId: string; status: ZeniAPIStatus>; }, "tenant/updateExcludedResourcesFailure", never, never>, doSignIn: import("@reduxjs/toolkit").ActionCreatorWithPayload, doMagicLinkSignIn: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[token: string, deviceId: string, magicLinkCodeVerifier: string], { token: string; deviceId: string; magicLinkCodeVerifier: string; }, "tenant/doMagicLinkSignIn", never, never>, magicLinkSignInSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[userId: string, sessionId: string], { userId: string; sessionId: string; }, "tenant/magicLinkSignInSuccess", never, never>, magicLinkSignInFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload>, "tenant/magicLinkSignInFailure">, sendEmailMagicLinkToUser: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[email: string, deviceId: string], { email: string; deviceId: string; }, "tenant/sendEmailMagicLinkToUser", never, never>, sendEmailMagicLinkToUserSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[codeVerifier: string], { codeVerifier: string; }, "tenant/sendEmailMagicLinkToUserSuccess", never, never>, sendEmailMagicLinkToUserFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ error: ZeniAPIStatus; accountLockTime?: string; accountUnlockTime?: string; isAccountLocked?: boolean; }, "tenant/sendEmailMagicLinkToUserFailure">, updateSignInState: import("@reduxjs/toolkit").ActionCreatorWithPayload, doSignOut: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"tenant/doSignOut">, signOutSuccess: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"tenant/signOutSuccess">, sendSessionHeartbeat: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"tenant/sendSessionHeartbeat">, sessionHeartbeatSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[expiresAt: string], { expiresAt: string; }, "tenant/sessionHeartbeatSuccess", never, never>, sessionHeartbeatFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[error: ZeniAPIStatus>], { error: ZeniAPIStatus>; }, "tenant/sessionHeartbeatFailure", never, never>, updateLoggedInUser: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[userPayload: LoggedInUserPayload, zeniSessionId: string, authProvider: AuthProvider], { userPayload: LoggedInUserPayload; zeniSessionId: string; authProvider: AuthProvider; }, "tenant/updateLoggedInUser", never, never>, fetchExternalConnections: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[userId: string, tenantId: string], { userId: string; tenantId: string; }, "tenant/fetchExternalConnections", never, never>, saveExternalConnection: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionMeta: ConnectionWithMetaPayload, redirectUri: import("url-parse")> | import("url-parse"), companyId?: string | undefined, userId?: string | undefined], { tenantId: string; connectionMeta: ConnectionWithMetaPayload; redirectUri: import("url-parse")> | import("url-parse"); companyId: string | undefined; userId: string | undefined; }, "tenant/saveExternalConnection", never, never>, saveExternalConnectionSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionPayload: ConnectionDataPayload], { tenantId: string; connectionPayload: ConnectionDataPayload; }, "tenant/saveExternalConnectionSuccess", never, never>, saveExternalConnectionFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, status: ZeniAPIStatus>], { tenantId: string; status: ZeniAPIStatus>; }, "tenant/saveExternalConnectionFailure", never, never>, fetchExternalConnectionsFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, status: ZeniAPIStatus>], { tenantId: string; status: ZeniAPIStatus>; }, "tenant/fetchExternalConnectionsFailure", never, never>, fetchExternalConnectionsSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, externalConnections: ConnectionsPayload], { tenantId: string; externalConnections: ConnectionsPayload; }, "tenant/fetchExternalConnectionsSuccess", never, never>, saveAPIKeyConnection: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionId: string, connectionType: "revenue" | "email" | "payments", connectionName: "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal" | "gmail" | "outlook", credentials: { api_key: string; site: string; }], { tenantId: string; connectionId: string; connectionType: "revenue" | "email" | "payments"; connectionName: "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal" | "gmail" | "outlook"; credentials: { api_key: string; site: string; }; }, "tenant/saveAPIKeyConnection", never, never>, saveAPIKeyConnectionSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionType: "revenue" | "email" | "payments", connectionPayload: ConnectionDataPayload], { tenantId: string; connectionType: "revenue" | "email" | "payments"; connectionPayload: ConnectionDataPayload; }, "tenant/saveAPIKeyConnectionSuccess", never, never>, saveAPIKeyConnectionFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, status: ZeniAPIStatus>], { tenantId: string; status: ZeniAPIStatus>; }, "tenant/saveAPIKeyConnectionFailure", never, never>, saveOAuthConnection: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionId: string, connectionType: "revenue" | "email" | "payments", connectionName: "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal" | "gmail" | "outlook", credentials: { authorization_code: string; client_id: string; client_secret: string; redirect_uri: string; }], { tenantId: string; connectionId: string; connectionType: "revenue" | "email" | "payments"; connectionName: "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal" | "gmail" | "outlook"; credentials: { authorization_code: string; client_id: string; client_secret: string; redirect_uri: string; }; }, "tenant/saveOAuthConnection", never, never>, saveOAuthConnectionSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionType: "revenue" | "email" | "payments", connectionPayload: ConnectionDataPayload], { tenantId: string; connectionType: "revenue" | "email" | "payments"; connectionPayload: ConnectionDataPayload; }, "tenant/saveOAuthConnectionSuccess", never, never>, saveOAuthConnectionFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, status: ZeniAPIStatus>], { tenantId: string; status: ZeniAPIStatus>; }, "tenant/saveOAuthConnectionFailure", never, never>, saveConnectorCredentials: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionType: "revenue" | "email" | "payments", args: ConnectorCredentialsBySlug], { connectionName: "stripe"; credentials: { api_key: string; }; tenantId: string; connectionType: "revenue" | "email" | "payments"; } | { connectionName: "mercury"; credentials: { api_key: string; }; tenantId: string; connectionType: "revenue" | "email" | "payments"; } | { connectionName: "paypal"; credentials: { client_id: string; client_secret: string; }; tenantId: string; connectionType: "revenue" | "email" | "payments"; }, "tenant/saveConnectorCredentials", never, never>, saveConnectorCredentialsSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionType: "revenue" | "email" | "payments", connectionName: "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal" | "gmail" | "outlook", connectionPayload: ConnectionDataPayload], { tenantId: string; connectionType: "revenue" | "email" | "payments"; connectionName: "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal" | "gmail" | "outlook"; connectionPayload: ConnectionDataPayload; }, "tenant/saveConnectorCredentialsSuccess", never, never>, saveConnectorCredentialsFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionName: "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal" | "gmail" | "outlook", status: ZeniAPIStatus>], { tenantId: string; connectionName: "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal" | "gmail" | "outlook"; status: ZeniAPIStatus>; }, "tenant/saveConnectorCredentialsFailure", never, never>, initEmailConnectOAuth: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, provider: "gmail" | "outlook", redirectAfterUrl: string], { tenantId: string; provider: "gmail" | "outlook"; redirectAfterUrl: string; }, "tenant/initEmailConnectOAuth", never, never>, initEmailConnectOAuthSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, provider: "gmail" | "outlook", authorizationUrl: string], { tenantId: string; provider: "gmail" | "outlook"; authorizationUrl: string; }, "tenant/initEmailConnectOAuthSuccess", never, never>, initEmailConnectOAuthFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, provider: "gmail" | "outlook", status: ZeniAPIStatus>], { tenantId: string; provider: "gmail" | "outlook"; status: ZeniAPIStatus>; }, "tenant/initEmailConnectOAuthFailure", never, never>, deleteConnection: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionId: string, connectionType: "revenue" | "email" | "payments"], { tenantId: string; connectionId: string; connectionType: "revenue" | "email" | "payments"; }, "tenant/deleteConnection", never, never>, deleteConnectionSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionId: string, connectionType: "revenue" | "email" | "payments"], { tenantId: string; connectionId: string; connectionType: "revenue" | "email" | "payments"; }, "tenant/deleteConnectionSuccess", never, never>, deleteConnectionFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, status: ZeniAPIStatus>], { tenantId: string; status: ZeniAPIStatus>; }, "tenant/deleteConnectionFailure", never, never>, fetchSubscriptionSummaryForTenant: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string], { tenantId: string; }, "tenant/fetchSubscriptionSummaryForTenant", never, never>, updateSubscriptionSummaryForTenantSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, subscriptionSummary: SubscriptionSummaryPayload], { tenantId: string; subscriptionSummary: SubscriptionSummaryPayload; }, "tenant/updateSubscriptionSummaryForTenantSuccess", never, never>, updateSubscriptionSummaryForTenantFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, status: ZeniAPIStatus>], { tenantId: string; status: ZeniAPIStatus>; }, "tenant/updateSubscriptionSummaryForTenantFailure", never, never>, updateOnboardingTenants: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenants: TenantPayload[], tenantUpdated?: any], { tenants: TenantPayload[]; tenantUpdated: any; }, "tenant/updateOnboardingTenants", never, never>, removeOnboardingTenant: import("@reduxjs/toolkit").ActionCreatorWithPayload, updateTenantReimbursementInfo: import("@reduxjs/toolkit").ActionCreatorWithPayload, updateReferViewedForLoggedInUser: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"tenant/updateReferViewedForLoggedInUser">, resetSignInState: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"tenant/resetSignInState">, trigger2FA: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[otpChallenge: string, userEmail: string, twoFAPhoneNumber: string], { otpChallenge: string; userEmail: string; twoFAPhoneNumber: string; }, "tenant/trigger2FA", never, never>, updateTenantAccountingClassesEnabled: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ enabled: boolean; tenantId: ID; }, "tenant/updateTenantAccountingClassesEnabled">, updateTenantAccountingProjectsEnabled: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ enabled: boolean; tenantId: ID; }, "tenant/updateTenantAccountingProjectsEnabled">, updateTenantProductSettings: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ tenantId: ID; isBookkeepingEnabled?: boolean; isSpendManagementEnabled?: boolean; }, "tenant/updateTenantProductSettings">, updateTenantCapitalizationOnboardingDismissed: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ accountId: string; tenantId: ID; }, "tenant/updateTenantCapitalizationOnboardingDismissed">, updateTenantCapitalizationAccountOverride: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ accountId: ID; tenantId: ID; threshold: number | null; allOverrides?: Record | null; }, "tenant/updateTenantCapitalizationAccountOverride">, updateTenantMasterTOSInfo: import("@reduxjs/toolkit").ActionCreatorWithPayload, verifyDeviceWithTwoFA: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[otp: any, deviceId: any, userEmail: any, otpChallenge: any], { otp: any; deviceId: any; userEmail: any; otpChallenge: any; }, "tenant/verifyDeviceWithTwoFA", never, never>, verifyDeviceWithTwoFASuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[userId: string, sessionId: string], { userId: string; sessionId: string; }, "tenant/verifyDeviceWithTwoFASuccess", never, never>, verifyDeviceWithTwoFAFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload>, "tenant/verifyDeviceWithTwoFAFailure">, updateTreasuryVideoViewedForLoggedInUser: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"tenant/updateTreasuryVideoViewedForLoggedInUser">, updateTreasuryPromoRemindMeLaterClickedForLoggedInUser: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"tenant/updateTreasuryPromoRemindMeLaterClickedForLoggedInUser">, updateTreasuryPromoIntroClosedByOutsideClickForLoggedInUser: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"tenant/updateTreasuryPromoIntroClosedByOutsideClickForLoggedInUser">, resendVerifyDeviceOTP: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[deviceId: string, magicLinkEmail: string, otpChallenge: string], { deviceId: string; magicLinkEmail: string; otpChallenge: string; }, "tenant/resendVerifyDeviceOTP", never, never>, resendVerifyDeviceOTPSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[otpChallenge: string, userEmail: string, twoFAPhoneNumber: string], { otpChallenge: string; userEmail: string; twoFAPhoneNumber: string; }, "tenant/resendVerifyDeviceOTPSuccess", never, never>, resendVerifyDeviceOTPFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload>, "tenant/resendVerifyDeviceOTPFailure">; declare const _default: import("redux").Reducer; export default _default; export declare function mapCapitalizableAccountsPayload(payload: CapitalizableAccountsPayload): CapitalizableAccounts; export declare const toRoleResource: (payload: RoleResourcePayload) => RoleResource; /** * Converts Connections payload to Connection State * @param payload Connections payload as received from backend API response * @returns returns Connection[] list */ export declare function mapConnectionsPayloadToState(connectionsPayload: ConnectionsPayload): { accounting: Connection[]; email: Connection[]; payments: Connection[]; revenue: Connection[]; }; export declare const toConnection: (payload: ConnectionDataPayload) => Connection;