import ApiRequester from '../utils/api-requester'; import type { User, Tenant, Token, UUID, LogoutResponse, ListTenantsResponse, ListUsersResponse, ListGroupsResponse, ListPoliciesResponse, GetTenantResponse, GetUserResponse, DeviceToken } from '../domain/types'; import Session from '../domain/Session'; export declare const DEFAULT_BACKEND_USER = "wazo_user"; export declare const BACKEND_LDAP_USER = "ldap_user"; export declare const DETAULT_EXPIRATION = 3600; type LoginParams = { username: string; password: string; backend?: string; expiration: number; mobile?: boolean; tenantId?: string; domainName?: string; headers?: Record; }; type SendResetPasswordArgs = { username?: string; email?: string; }; declare const _default: (client: ApiRequester, baseUrl: string) => { checkToken: (token: Token) => Promise; authenticate: (token: Token) => Promise; logIn(params: LoginParams): Promise; logOut: (token: Token) => Promise; samlLogIn: (samlSessionId: string) => Promise; samlLogOut(): Promise; initiateIdpAuthentication: (domain: string, redirectUrl: string) => Promise; refreshToken: (refreshToken: string, backend: string, expiration: number, isMobile?: boolean, tenantId?: string, domainName?: string) => Promise; deleteRefreshToken: (clientId: string) => Promise; updatePassword: (userUuid: UUID, oldPassword: string, newPassword: string) => Promise; getDeviceToken: (userUuid: UUID) => Promise; sendDeviceToken: (userUuid: UUID, deviceToken: string, apnsVoipToken: string | null | undefined, apnsNotificationToken: string | null | undefined) => Promise; getPushNotificationSenderId: (userUuid: UUID) => Promise; /** * `username` or `email` should be set. */ sendResetPasswordEmail: ({ username, email }: SendResetPasswordArgs) => Promise; resetPassword: (userUuid: string, password: string) => Promise; removeDeviceToken: (userUuid: UUID) => Promise; createUser: (username: string, password: string, firstname: string, lastname: string) => Promise; addUserEmail: (userUuid: UUID, email: string, main?: boolean) => Promise; addUserPolicy: (userUuid: UUID, policyUuid: UUID) => Promise; getRestrictionPolicies: (scopes: string[]) => Promise; deleteUserPolicy: (userUuid: UUID, policyUuid: UUID) => Promise; addUserGroup: (userUuid: UUID, groupUuid: UUID) => Promise; listUsersGroup: (groupUuid: UUID) => Promise; deleteUserGroup: (userUuid: UUID, groupUuid: UUID) => Promise; getUser: (userUuid: UUID) => Promise; getUserSession: (userUuid: UUID) => Promise; deleteUserSession: (userUuid: UUID, sessionUuids: UUID) => Promise; listUsers: () => Promise; deleteUser: (userUuid: UUID) => Promise; listTenants: () => Promise; getTenant: (tenantUuid: UUID) => Promise; createTenant: (name: string) => Promise; updateTenant: (uuid: UUID, name: string, contact: string, phone: string, address: Array>) => Promise; deleteTenant: (uuid: UUID) => Promise; createGroup: (name: string) => Promise; listGroups: () => Promise; deleteGroup: (uuid: UUID) => Promise; createPolicy: (name: string, description: string, aclTemplates: Array>) => Promise; listPolicies: () => Promise; deletePolicy: (policyUuid: UUID) => Promise; getProviders: (userUuid: UUID) => Promise; getProviderToken: (userUuid: UUID, provider: string) => Promise; getProviderAuthUrl: (userUuid: UUID, provider: string) => Promise; deleteProviderToken: (userUuid: UUID, provider: string) => Promise; }; export default _default; //# sourceMappingURL=auth.d.ts.map