/**
 * Apideck
 * The Apideck OpenAPI Spec: SDK Optimized
 *
 * The version of the OpenAPI document: 10.13.0
 * Contact: support@apideck.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { Address } from './Address';
import { Currency } from './Currency';
import { PaymentUnit } from './PaymentUnit';
/**
 *
 * @export
 * @interface EmployeeJob
 */
export interface EmployeeJob {
    /**
     * A unique identifier for an object.
     * @type {string}
     * @memberof EmployeeJob
     */
    readonly id?: string | null;
    /**
     * A unique identifier for an object.
     * @type {string}
     * @memberof EmployeeJob
     */
    readonly employee_id?: string | null;
    /**
     * The job title of the person.
     * @type {string}
     * @memberof EmployeeJob
     */
    title?: string | null;
    /**
     * The position and responsibilities of the person within the organization.
     * @type {string}
     * @memberof EmployeeJob
     */
    role?: string | null;
    /**
     * The date on which the employee starts working in their current job role.
     * @type {Date}
     * @memberof EmployeeJob
     */
    start_date?: Date | null;
    /**
     * The date on which the employee leaves or is expected to leave their current job role.
     * @type {Date}
     * @memberof EmployeeJob
     */
    end_date?: Date | null;
    /**
     * The rate of pay for the employee in their current job role.
     * @type {number}
     * @memberof EmployeeJob
     */
    compensation_rate?: number | null;
    /**
     *
     * @type {Currency}
     * @memberof EmployeeJob
     */
    currency?: Currency | null;
    /**
     *
     * @type {PaymentUnit}
     * @memberof EmployeeJob
     */
    payment_unit?: PaymentUnit | null;
    /**
     * The date on which the employee was hired by the organization
     * @type {Date}
     * @memberof EmployeeJob
     */
    hired_at?: Date | null;
    /**
     * Indicates whether this the employee's primary job.
     * @type {boolean}
     * @memberof EmployeeJob
     */
    is_primary?: boolean | null;
    /**
     * Indicates whether this the employee has a manager role.
     * @type {boolean}
     * @memberof EmployeeJob
     */
    is_manager?: boolean | null;
    /**
     * Indicates the status of the job.
     * @type {string}
     * @memberof EmployeeJob
     */
    status?: EmployeeJobStatus;
    /**
     *
     * @type {Address}
     * @memberof EmployeeJob
     */
    location?: Address;
}
/**
 * @export
 * @enum {string}
 */
export declare enum EmployeeJobStatus {
    active = "active",
    inactive = "inactive",
    other = "other"
}
export declare function EmployeeJobFromJSON(json: any): EmployeeJob;
export declare function EmployeeJobFromJSONTyped(json: any, ignoreDiscriminator: boolean): EmployeeJob;
export declare function EmployeeJobToJSON(value?: EmployeeJob | null): any;
