import { RefreshTemporarySessionRequest, RefreshTemporarySessionResponse, ResponseSpec, User, UserFilters } from '../types';
declare const _default: (apiUrl: string) => {
    pwlUserLogin: (user: User) => Promise<ResponseSpec & {
        user: User;
        token?: string | undefined;
        flowID?: string | undefined;
    }>;
    pwlUserLogout: (authToken: string) => Promise<ResponseSpec>;
    pwlGetCurrentUser: (authToken: string) => Promise<ResponseSpec & {
        user: User;
    }>;
    pwlGetUser: (authToken: string, userID: string) => Promise<ResponseSpec & {
        user: User;
    }>;
    pwlGetUsersList: (authToken: string) => Promise<ResponseSpec & {
        users: User[];
    }>;
    pwlGetUsersListPaginated: (authToken: string, filters: UserFilters) => Promise<ResponseSpec & {
        users: User[];
        count: number;
    }>;
    pwlDeleteUser: (authToken: string, userID: string) => Promise<ResponseSpec>;
    pwlUpdateUser: (authToken: string, userID: string, user: User) => Promise<ResponseSpec & {
        user: User;
    }>;
    pwlRecoverUsername: (user: User) => Promise<ResponseSpec>;
    pwlCreateUser: (authToken: string, user: Partial<User>) => Promise<ResponseSpec & {
        user: User;
    }>;
    pwlLoginWithJWT: (jwtToken: string, tenant: string, secretKey: string) => Promise<ResponseSpec & {
        user: User;
        token?: string | undefined;
        flowID?: string | undefined;
    }>;
    loginWithOTP: (user: User) => Promise<ResponseSpec>;
    validateOTPCode: (otpCode: string, tenant: string, userName?: string, eMail?: string) => Promise<ResponseSpec & {
        newSessionToken: string;
    }>;
    refreshTemporarySession: (refreshTemporarySessionSpecs: RefreshTemporarySessionRequest) => Promise<RefreshTemporarySessionResponse>;
};
export default _default;
