import { SaleSoftware } from "./saleSoftware";
import { SaleTerminalData } from "./saleTerminalData";
import { TokenRequestedType } from "./tokenRequestedType";
/**
* It conveys information related to the session (period between a Login and the following Logout) to process. Content of the `LoginRequest` message.
*/
export declare class LoginRequest {
    /**
    * Date and Time. In the Login request message, the Sale System gives its date and time to the POI System. In the Login response, the POI System gives its date and time to the Sale System.
    */
    "DateTime": Date;
    "SaleSoftware": SaleSoftware;
    "SaleTerminalData"?: SaleTerminalData | null;
    /**
    * Training mode. This flag indicates to the POI that the entire session will be not used to make real transaction, but is used for test of system or operator training.
    */
    "TrainingModeFlag"?: boolean;
    /**
    * Language of the Cashier or Operator. Default value for Device type displays.
    */
    "OperatorLanguage": string;
    /**
    * Identification of the Cashier or Operator. Four conditions to send it: * The Sale System wants the POI to log it in the transaction log. * Because of reconciliation with total on OperatorID. * Because the POI needs it. * Acquirer or issuer need it.
    */
    "OperatorID"?: string;
    /**
    * Shift number. Same as OperatorID.
    */
    "ShiftNumber"?: string;
    "TokenRequestedType"?: TokenRequestedType;
    /**
    * List of customer order open, closed or both to be sent in the response messages. Possible values: * **Both** * **Closed** * **Open**
    */
    "CustomerOrderReq"?: Array<LoginRequest.CustomerOrderReqEnum>;
    /**
    * Serial number of a POI Terminal. If the login involve a POI Terminal and not the first Login to the POI System.
    */
    "POISerialNumber"?: string;
    static readonly discriminator: string | undefined;
    static readonly mapping: {
        [index: string]: string;
    } | undefined;
    static readonly attributeTypeMap: Array<{
        name: string;
        baseName: string;
        type: string;
        format: string;
    }>;
    static getAttributeTypeMap(): {
        name: string;
        baseName: string;
        type: string;
        format: string;
    }[];
    constructor();
}
export declare namespace LoginRequest {
    enum CustomerOrderReqEnum {
        Open = "Open",
        Closed = "Closed",
        Both = "Both"
    }
}
