import { IConnection, IOptions } from "../../../../connection.ts";
import { Service } from "../../../../espConnection.ts";
export declare namespace WsAccount {
    type int = number;
    interface MyAccountRequest {
    }
    interface Exception {
        Code: string;
        Audience: string;
        Source: string;
        Message: string;
    }
    interface Exceptions {
        Source: string;
        Exception: Exception[];
    }
    interface Groups {
        Group: string[];
    }
    interface MyAccountResponse {
        Exceptions: Exceptions;
        username: string;
        firstName: string;
        lastName: string;
        passwordExpiration: string;
        passwordDaysRemaining: int;
        passwordExpirationWarningDays: int;
        employeeID: string;
        distinguishedName: string;
        accountType: string;
        passwordNeverExpires: boolean;
        passwordIsExpired: boolean;
        CanUpdatePassword: boolean;
        accountStatus: int;
        Groups: Groups;
    }
    interface ws_accountPingRequest {
    }
    interface ws_accountPingResponse {
    }
    interface UpdateUserRequest {
        username?: string;
        oldpass?: string;
        newpass1?: string;
        newpass2?: string;
    }
    interface UpdateUserResponse {
        Exceptions: Exceptions;
        retcode: int;
        message: string;
    }
    interface UpdateUserInputRequest {
    }
    interface UpdateUserInputResponse {
        Exceptions: Exceptions;
        username: string;
    }
    interface VerifyUserRequest {
        application?: string;
        version?: string;
    }
    interface VerifyUserResponse {
        Exceptions: Exceptions;
        retcode: int;
    }
}
export declare class AccountServiceBase extends Service {
    constructor(optsConnection: IOptions | IConnection);
    MyAccount(request: Partial<WsAccount.MyAccountRequest>): Promise<WsAccount.MyAccountResponse>;
    Ping(request: Partial<WsAccount.ws_accountPingRequest>): Promise<WsAccount.ws_accountPingResponse>;
    UpdateUser(request: Partial<WsAccount.UpdateUserRequest>): Promise<WsAccount.UpdateUserResponse>;
    UpdateUserInput(request: Partial<WsAccount.UpdateUserInputRequest>): Promise<WsAccount.UpdateUserInputResponse>;
    VerifyUser(request: Partial<WsAccount.VerifyUserRequest>): Promise<WsAccount.VerifyUserResponse>;
}
