/**
 * @typedef {Object} RRClientConfig
 * @property {string} baseUrl Base URL of the Rome endpoint
 * @property {string} username WS-Security username
 * @property {string} password WS-Security password
 * @property {'Text'|'Digest'} [wssePasswordType] Password type (defaults to Text)
 * @property {number} [timeoutMs] Request timeout in milliseconds
 * @property {{max?: number}} [retries] Retry configuration
 * @property {{ info:Function, warn:Function, error:Function, debug:Function }} [logger] Custom logger implementation
 */
/** Dealer/store routing (required each call). */
export const _routingDoc: any;
/**
 * @typedef {Object} Routing
 * @property {string} dealerNumber
 * @property {string} [storeNumber]
 * @property {string} [areaNumber]
 */
/** Optional envelope overrides; BODId/CreationDateTime auto-generated if omitted. */
export const _envelopeDoc: any;
/**
 * @typedef {Object} EnvelopeOptions
 * @property {string} [bodId]
 * @property {string|Date} [creationDateTime]
 * @property {{ component?: string, task?: string, referenceId?: string }} [sender]
 */
/** Per-call options */
export const _callOptionsDoc: any;
/**
 * @typedef {Object} CallOptions
 * @property {Routing} routing
 * @property {EnvelopeOptions} [envelope]
 */
/** @template T @typedef {Object} RRResult { @property {boolean} success @property {T} [data] @property {any} parsed @property {{request:string,response:string}} xml @property {{transaction?:any,roRecord?:any}} [statusBlocks] @property {any} [applicationArea] } */
/** @typedef {Object} CombinedSearchName { @property {string} [fname] @property {string} [lname] @property {string} [mname] @property {string} [name] } */
/** @typedef {Object} CombinedSearchQuery
 * @property {'phone'|'license'|'vin'|'name'|'nameRecId'|'stkNo'} kind Search kind (only one criterion allowed)
 * @property {string|number|{phone:string}} [phone] Phone number criterion
 * @property {string|number|{license:string}} [license] License plate criterion
 * @property {string|number|{vin:string}} [vin] VIN criterion
 * @property {CombinedSearchName} [name] Customer name criterion
 * @property {string|number|{custId:string}|{nameRecId:string}} [nameRecId] Name record ID criterion
 * @property {string|number|{stkNo:string}} [stkNo] Stock number criterion
 * @property {number} [maxResults] Max results (capped at 50)
 * @property {string} [make] Vehicle make filter
 * @property {string|number} [model] Vehicle model filter
 * @property {string|number} [year] Vehicle year filter
} */
/** @typedef {Object} CombinedSearchVehicleDetail { @property {string} [LicNo] } */
/** @typedef {Object} CombinedSearchVehicle { @property {string} [Vin] @property {string} [VehicleMake] @property {string|number} [VehicleYr] @property {string} [MdlNo] @property {string} [ModelDesc] @property {string} [Carline] @property {string} [ExtClrDesc] @property {string} [IntClrDesc] @property {string} [MakeName] @property {CombinedSearchVehicleDetail} [VehicleDetail] } */
/** @typedef {Object} CombinedSearchVehicleWarranty { @property {string} [ContractNumber] @property {string} [ExpirationDate] @property {string|number} [ExpirationMileage] } */
/** @typedef {Object} CombinedSearchAdvisorContactInfo { @property {string|number} [NameRecId] } */
/** @typedef {Object} CombinedSearchAdvisor { @property {CombinedSearchAdvisorContactInfo} [ContactInfo] } */
/** @typedef {Object} CombinedSearchVehicleServInfo { @property {string|number} [CustomerNo] @property {string|number} [SalesmanNo] @property {string|number} [InServiceDate] @property {string|number} [Mileage] @property {string} [TeamCode] @property {CombinedSearchVehicleWarranty} [VehExtWarranty] @property {CombinedSearchAdvisor} [Advisor] @property {string[]} [VehServComments] } */
/** @typedef {Object} CombinedSearchServVehicle { @property {CombinedSearchVehicle} [Vehicle] @property {CombinedSearchVehicleServInfo} [VehicleServInfo] } */
/** @typedef {Object} CombinedSearchNameId { @property {string|number} [NameRecId] @property {'I'|'B'} [IBFlag] @property {Object} [IndName] @property {Object} [BusName] } */
/** @typedef {Object} CombinedSearchNameContactId { @property {CombinedSearchNameId} [NameId] @property {Object[]} [Address] @property {Object[]} [ContactOptions] @property {Object[]} [Phone] @property {Object[]} [Email] } */
/** @typedef {Object} CombinedSearchMessage { @property {string|number} [MessageNo] @property {string} [Text] } */
/** @typedef {Object} CombinedSearchBlock { @property {CombinedSearchNameContactId} [NameContactId] @property {CombinedSearchServVehicle[]} [ServVehicle] @property {CombinedSearchMessage[]} [Message] } */
/** @typedef {Object} CustomerAddress { @property {'P'|'B'|'M'|'S'|'D'} [type] @property {string} line1 @property {string} [line2] @property {string} [city] @property {string} [state] @property {string} [postalCode] @property {string} [county] @property {string} [country] } */
/** @typedef {Object} CustomerPhone { @property {'H'|'W'|'M'|'C'|'F'} [type] @property {string|number} number @property {string|number} [extension] } */
/** @typedef {Object} CustomerEmail { @property {string} address } */
/** @typedef {Object} CustomerBirthDate { @property {'P'|'S'} [type] @property {string} date } */
/** @typedef {Object} CustomerSSN { @property {'P'|'S'} [type] @property {string} ssn } */
/** @typedef {Object} CustomerDriver { @property {'P'|'S'} [type] @property {string} licenseNumber @property {string} [licenseState] @property {string} [licenseExpDate] } */
/** @typedef {Object} CustomerChild { @property {string} name } */
/** @typedef {Object} CustomerPersonal { @property {'M'|'F'|'U'} [gender] @property {string} [otherName] @property {string} [anniversaryDate] @property {string} [employerName] @property {string} [employerPhone] @property {string} [occupation] @property {string} [optOut] @property {string} [optOutUse] @property {CustomerBirthDate[]} [birthDates] @property {CustomerSSN[]} [ssns] @property {CustomerDriver} [driver] @property {CustomerChild[]} [children] } */
/** @typedef {Object} CustomerDmsFollowup { @property {string} type @property {string} value } */
/** @typedef {Object} CustomerDmsInfo { @property {string} [taxExemptNum] @property {string} [salesTerritory] @property {string} [deliveryRoute] @property {string} [salesmanNum] @property {string} [lastContactMethod] @property {CustomerDmsFollowup[]} [followups] } */
/** @typedef {Object} InsertCustomerPayload
 * @property {'I'|'B'} [ibFlag] Individual/Business flag (auto-inferred if omitted)
 * @property {'R'|'W'|'I'|'Retail'|'Wholesale'|'Internal'} [customerType] Customer type
 * @property {string} [createdBy] Username or identifier creating the record
 * @property {string} [customerName] Business name (alias for lastName when business)
 * @property {string} [lastName] Last name or business name
 * @property {string} [firstName] First name (required for individuals)
 * @property {string} [midName] Middle name
 * @property {string} [salut] Salutation
 * @property {string} [suffix] Suffix
 * @property {CustomerAddress[]} [addresses] Addresses list (line1 required per address)
 * @property {CustomerPhone[]} [phones] Phone numbers list (number required per phone)
 * @property {CustomerEmail[]} [emails] Email list (first entry used)
 * @property {CustomerPersonal} [personal] Personal details
 * @property {CustomerDmsInfo} [dms] DMS-specific supplemental info
 */
/** @typedef {InsertCustomerPayload & { nameRecId: string|number }} UpdateCustomerPayload */
/** @typedef {Object} CustomerResponseData { @property {string|undefined} dmsRecKey @property {string|undefined} status @property {string|undefined} statusCode } */
/** @typedef {Object} ServiceVehicleDetail { @property {string} [licNo] } */
/** @typedef {Object} ServiceVehicleWarranty { @property {string} [contractNumber] @property {string} [expirationDate] @property {string|number} [expirationMileage] } */
/** @typedef {Object} ServiceVehicleAdvisorContactInfo { @property {string|number} nameRecId } */
/** @typedef {Object} ServiceVehicleServInfo { @property {string|number} customerNo @property {string|number} [salesmanNo] @property {string|number} [inServiceDate] @property {string|number} [mileage] @property {string} [teamCode] @property {ServiceVehicleWarranty} [vehExtWarranty] @property {{contactInfo?: ServiceVehicleAdvisorContactInfo}} [advisor] } */
/** @typedef {Object} InsertServiceVehiclePayload { @property {string} vin @property {string} [modelDesc] @property {string} [carline] @property {string} [extClrDesc] @property {string} [intClrDesc] @property {string} [trimDesc] @property {string} [bodyStyle] @property {string} [engineDesc] @property {string} [transDesc] @property {string|number} [year] @property {string|number} [odometer] @property {string} [odometerUnits] @property {ServiceVehicleDetail} [vehicleDetail] @property {ServiceVehicleServInfo} vehicleServInfo } */
/** @typedef {Object} ServiceVehicleResponseData { @property {string|undefined} status @property {string|undefined} statusCode } */
/** @typedef {Object} RepairOrderEstimate { @property {string|number} [parts] @property {string|number} [labor] @property {string|number} [total] @property {string} [estimateType] } */
/** @typedef {Object} RepairOrderTax { @property {'All'|'Cust'|'Intr'|'Warr'} [payType] @property {string} [taxCode] @property {string|number} [txblGrossAmt] @property {string|number} [grossTaxAmt] } */
/** @typedef {Object} RepairOrderLaborBill { @property {'All'|'Cust'|'Intr'|'Warr'} [payType] @property {string|number} [jobTotalHrs] @property {string|number} [billTime] @property {string|number} [billRate] } */
/** @typedef {Object} RepairOrderLaborCCC { @property {string} [cause] @property {string} [complaint] @property {string} [correction] } */
/** @typedef {Object} RepairOrderLaborAmount { @property {'All'|'Cust'|'Intr'|'Warr'} [payType] @property {string} [amtType] @property {string|number} [custPrice] @property {string|number} [totalAmt] } */
/** @typedef {Object} RepairOrderLaborOp { @property {string} [opCode] @property {string|number} [jobNo] @property {'T'|'N'} [custTxblNtxblFlag] @property {'T'|'N'} [warrTxblNtxblFlag] @property {'T'|'N'} [intrTxblNtxblFlag] @property {string} [custPayTypeFlag] @property {string} [warrPayTypeFlag] @property {string} [intrPayTypeFlag] @property {string} [vlrCode] @property {RepairOrderLaborBill} [bill] @property {RepairOrderLaborCCC} [ccc] @property {RepairOrderLaborAmount} [amount] } */
/** @typedef {Object} RepairOrderLabor { @property {RepairOrderLaborOp[]} [ops] } */
/** @typedef {Object} RepairOrderPartLine { @property {string} [partNo] @property {string} [partNoDesc] @property {string|number} [partQty] @property {string|number} [sale] @property {string|number} [cost] @property {string} [addDeleteFlag] } */
/** @typedef {Object} RepairOrderPartJob { @property {string} [opCode] @property {string|number} [jobNo] @property {RepairOrderPartLine[]} [lines] } */
/** @typedef {Object} RepairOrderPart { @property {RepairOrderPartJob[]} [jobs] } */
/** @typedef {Object} RepairOrderGGLineAmount { @property {'All'|'Cust'|'Intr'|'Warr'} [payType] @property {string} [amtType] @property {string|number} [custPrice] @property {string|number} [dlrCost] } */
/** @typedef {Object} RepairOrderGGLine { @property {string} [breakOut] @property {'G'|'P'|'S'|'F'} [itemType] @property {string} [itemDesc] @property {string|number} [custQty] @property {string|number} [warrQty] @property {string|number} [intrQty] @property {'T'|'N'} [custTxblNtxblFlag] @property {'T'|'N'} [warrTxblNtxblFlag] @property {'T'|'N'} [intrTxblNtxblFlag] @property {string} [custPayTypeFlag] @property {string} [warrPayTypeFlag] @property {string} [intrPayTypeFlag] @property {RepairOrderGGLineAmount} [amount] } */
/** @typedef {Object} RepairOrderGGOp { @property {string} [opCode] @property {string|number} [jobNo] @property {RepairOrderGGLine[]} [lines] } */
/** @typedef {Object} RepairOrderGG { @property {string|number} [roNo] @property {RepairOrderGGOp[]} [ops] } */
/** @typedef {Object} RepairOrderMiscLine { @property {string} [miscCode] @property {'T'|'N'} [custTxblNtxblFlag] @property {'T'|'N'} [warrTxblNtxblFlag] @property {'T'|'N'} [intrTxblNtxblFlag] @property {string} [custPayTypeFlag] @property {string} [warrPayTypeFlag] @property {string} [intrPayTypeFlag] @property {string|number} [codeAmt] } */
/** @typedef {Object} RepairOrderMiscOp { @property {string} [opCode] @property {string|number} [jobNo] @property {RepairOrderMiscLine[]} [lines] } */
/** @typedef {Object} RepairOrderMisc { @property {string|number} [roNo] @property {RepairOrderMiscOp[]} [ops] } */
/** @typedef {Object} CreateRepairOrderPayload
 * @property {string|number} customerNo Customer number (CustNo)
 * @property {string|number} departmentType Department type (DeptType)
 * @property {string} vin Vehicle VIN (Vin)
 * @property {string|number} outsdRoNo External RO identifier
 * @property {string|number} [advisorNo] Advisor number
 * @property {string|number} [tagNo] Tag number
 * @property {string|number} [mileageIn] Mileage in value
 * @property {string} [roComment] Repair order comment
 * @property {RepairOrderEstimate} [estimate] Repair order estimate block
 * @property {RepairOrderTax} [tax] Tax block
 * @property {RepairOrderLabor} [rolabor] Labor operations
 * @property {RepairOrderPart} [ropart] Parts jobs/lines
 * @property {RepairOrderGG} [rogg] General goods lines
 * @property {RepairOrderMisc} [romisc] Miscellaneous charges
 */
/** @typedef {Object} UpdateRepairOrderPayload { @property {'Y'|'N'} finalUpdate @property {string|number} outsdRoNo @property {string|number} [roNo] @property {string|number} [customerNo] @property {string|number} [tagNo] @property {string|number} [departmentType] @property {string} [vin] @property {string|number} [mileageIn] @property {string|number} [mileageOut] @property {string} [roComment] @property {RepairOrderEstimate} [estimate] @property {RepairOrderTax} [tax] @property {RepairOrderLabor} [rolabor] @property {RepairOrderPart} [ropart] @property {RepairOrderGG} [rogg] @property {RepairOrderMisc} [romisc] } */
/** @typedef {Object} RepairOrderData { @property {string|undefined} status @property {string|undefined} date @property {string|undefined} time @property {string|undefined} outsdRoNo @property {string|undefined} dmsRoNo @property {string|undefined} errorMessage } */
/** @typedef {Object} GetAdvisorsParams { @property {'S'|'P'|'B'|'SERVICE'|'PARTS'|'BODY'|'BODYSHOP'|'BODY SHOP'} department @property {string|number} [advisorNumber] @property {number} [maxResults] } */
/** @typedef {Object} AdvisorRow { @property {string|number|undefined} advisorId @property {string|undefined} firstName @property {string|undefined} lastName @property {'S'|'P'|'B'|undefined} department } */
/** @typedef {Object} GetPartsParams { @property {string|number} roNumber } */
/** @typedef {Object} PartRow { @property {string|undefined} partNumber @property {string|undefined} partDescription @property {string|number|undefined} quantityOrdered @property {string|number|undefined} quantityShipped @property {string|number|undefined} price @property {string|number|undefined} cost @property {string|undefined} processedFlag @property {string|undefined} addOrDelete } */
export const _extendedTypesDoc: any;
export type RRClientConfig = {
    /**
     * Base URL of the Rome endpoint
     */
    baseUrl: string;
    /**
     * WS-Security username
     */
    username: string;
    /**
     * WS-Security password
     */
    password: string;
    /**
     * Password type (defaults to Text)
     */
    wssePasswordType?: "Text" | "Digest";
    /**
     * Request timeout in milliseconds
     */
    timeoutMs?: number;
    /**
     * Retry configuration
     */
    retries?: {
        max?: number;
    };
    /**
     * Custom logger implementation
     */
    logger?: {
        info: Function;
        warn: Function;
        error: Function;
        debug: Function;
    };
};
export type Routing = {
    dealerNumber: string;
    storeNumber?: string;
    areaNumber?: string;
};
export type EnvelopeOptions = {
    bodId?: string;
    creationDateTime?: string | Date;
    sender?: {
        component?: string;
        task?: string;
        referenceId?: string;
    };
};
export type CallOptions = {
    routing: Routing;
    envelope?: EnvelopeOptions;
};
/**
 * {
 */
export type RRResult<T> = {
    success: boolean;
    data?: T;
    parsed: any;
    xml: {
        request: string;
        response: string;
    };
    statusBlocks?: {
        transaction?: any;
        roRecord?: any;
    };
    /**
     * }
     */
    applicationArea?: any;
};
/**
 * {
 */
export type CombinedSearchName = {
    fname?: string;
    lname?: string;
    mname?: string;
    /**
     * }
     */
    name?: string;
};
export type CombinedSearchQuery = {
    /**
     * Search kind (only one criterion allowed)
     */
    kind: "phone" | "license" | "vin" | "name" | "nameRecId" | "stkNo";
    /**
     * Phone number criterion
     */
    phone?: string | number | {
        phone: string;
    };
    /**
     * License plate criterion
     */
    license?: string | number | {
        license: string;
    };
    /**
     * VIN criterion
     */
    vin?: string | number | {
        vin: string;
    };
    /**
     * Customer name criterion
     */
    name?: CombinedSearchName;
    /**
     * Name record ID criterion
     */
    nameRecId?: string | number | {
        custId: string;
    } | {
        nameRecId: string;
    };
    /**
     * Stock number criterion
     */
    stkNo?: string | number | {
        stkNo: string;
    };
    /**
     * Max results (capped at 50)
     */
    maxResults?: number;
    /**
     * Vehicle make filter
     */
    make?: string;
    /**
     * Vehicle model filter
     */
    model?: string | number;
    /**
     * Vehicle year filter
     * }
     */
    year?: string | number;
};
/**
 * {
 */
export type CombinedSearchVehicleDetail = {
    /**
     * }
     */
    LicNo?: string;
};
/**
 * {
 */
export type CombinedSearchVehicle = {
    Vin?: string;
    VehicleMake?: string;
    VehicleYr?: string | number;
    MdlNo?: string;
    ModelDesc?: string;
    Carline?: string;
    ExtClrDesc?: string;
    IntClrDesc?: string;
    MakeName?: string;
    /**
     * }
     */
    VehicleDetail?: CombinedSearchVehicleDetail;
};
/**
 * {
 */
export type CombinedSearchVehicleWarranty = {
    ContractNumber?: string;
    ExpirationDate?: string;
    /**
     * }
     */
    ExpirationMileage?: string | number;
};
/**
 * {
 */
export type CombinedSearchAdvisorContactInfo = {
    /**
     * }
     */
    NameRecId?: string | number;
};
/**
 * {
 */
export type CombinedSearchAdvisor = {
    /**
     * }
     */
    ContactInfo?: CombinedSearchAdvisorContactInfo;
};
/**
 * {
 */
export type CombinedSearchVehicleServInfo = {
    CustomerNo?: string | number;
    SalesmanNo?: string | number;
    InServiceDate?: string | number;
    Mileage?: string | number;
    TeamCode?: string;
    VehExtWarranty?: CombinedSearchVehicleWarranty;
    Advisor?: CombinedSearchAdvisor;
    /**
     * }
     */
    VehServComments?: string[];
};
/**
 * {
 */
export type CombinedSearchServVehicle = {
    Vehicle?: CombinedSearchVehicle;
    /**
     * }
     */
    VehicleServInfo?: CombinedSearchVehicleServInfo;
};
/**
 * {
 */
export type CombinedSearchNameId = {
    NameRecId?: string | number;
    IBFlag?: "I" | "B";
    IndName?: any;
    /**
     * }
     */
    BusName?: any;
};
/**
 * {
 */
export type CombinedSearchNameContactId = {
    NameId?: CombinedSearchNameId;
    Address?: any[];
    ContactOptions?: any[];
    Phone?: any[];
    /**
     * }
     */
    Email?: any[];
};
/**
 * {
 */
export type CombinedSearchMessage = {
    MessageNo?: string | number;
    /**
     * }
     */
    Text?: string;
};
/**
 * {
 */
export type CombinedSearchBlock = {
    NameContactId?: CombinedSearchNameContactId;
    ServVehicle?: CombinedSearchServVehicle[];
    /**
     * }
     */
    Message?: CombinedSearchMessage[];
};
/**
 * {
 */
export type CustomerAddress = {
    type?: "P" | "B" | "M" | "S" | "D";
    line1: string;
    line2?: string;
    city?: string;
    state?: string;
    postalCode?: string;
    county?: string;
    /**
     * }
     */
    country?: string;
};
/**
 * {
 */
export type CustomerPhone = {
    type?: "H" | "W" | "M" | "C" | "F";
    number: string | number;
    /**
     * }
     */
    extension?: string | number;
};
/**
 * {
 */
export type CustomerEmail = {
    /**
     * }
     */
    address: string;
};
/**
 * {
 */
export type CustomerBirthDate = {
    type?: "P" | "S";
    /**
     * }
     */
    date: string;
};
/**
 * {
 */
export type CustomerSSN = {
    type?: "P" | "S";
    /**
     * }
     */
    ssn: string;
};
/**
 * {
 */
export type CustomerDriver = {
    type?: "P" | "S";
    licenseNumber: string;
    licenseState?: string;
    /**
     * }
     */
    licenseExpDate?: string;
};
/**
 * {
 */
export type CustomerChild = {
    /**
     * }
     */
    name: string;
};
/**
 * {
 */
export type CustomerPersonal = {
    gender?: "M" | "F" | "U";
    otherName?: string;
    anniversaryDate?: string;
    employerName?: string;
    employerPhone?: string;
    occupation?: string;
    optOut?: string;
    optOutUse?: string;
    birthDates?: CustomerBirthDate[];
    ssns?: CustomerSSN[];
    driver?: CustomerDriver;
    /**
     * }
     */
    children?: CustomerChild[];
};
/**
 * {
 */
export type CustomerDmsFollowup = {
    type: string;
    /**
     * }
     */
    value: string;
};
/**
 * {
 */
export type CustomerDmsInfo = {
    taxExemptNum?: string;
    salesTerritory?: string;
    deliveryRoute?: string;
    salesmanNum?: string;
    lastContactMethod?: string;
    /**
     * }
     */
    followups?: CustomerDmsFollowup[];
};
export type InsertCustomerPayload = {
    /**
     * Individual/Business flag (auto-inferred if omitted)
     */
    ibFlag?: "I" | "B";
    /**
     * Customer type
     */
    customerType?: "R" | "W" | "I" | "Retail" | "Wholesale" | "Internal";
    /**
     * Username or identifier creating the record
     */
    createdBy?: string;
    /**
     * Business name (alias for lastName when business)
     */
    customerName?: string;
    /**
     * Last name or business name
     */
    lastName?: string;
    /**
     * First name (required for individuals)
     */
    firstName?: string;
    /**
     * Middle name
     */
    midName?: string;
    /**
     * Salutation
     */
    salut?: string;
    /**
     * Suffix
     */
    suffix?: string;
    /**
     * Addresses list (line1 required per address)
     */
    addresses?: CustomerAddress[];
    /**
     * Phone numbers list (number required per phone)
     */
    phones?: CustomerPhone[];
    /**
     * Email list (first entry used)
     */
    emails?: CustomerEmail[];
    /**
     * Personal details
     */
    personal?: CustomerPersonal;
    /**
     * DMS-specific supplemental info
     */
    dms?: CustomerDmsInfo;
};
export type UpdateCustomerPayload = InsertCustomerPayload & {
    nameRecId: string | number;
};
/**
 * {
 */
export type CustomerResponseData = {
    dmsRecKey: string | undefined;
    status: string | undefined;
    /**
     * }
     */
    statusCode: string | undefined;
};
/**
 * {
 */
export type ServiceVehicleDetail = {
    /**
     * }
     */
    licNo?: string;
};
/**
 * {
 */
export type ServiceVehicleWarranty = {
    contractNumber?: string;
    expirationDate?: string;
    /**
     * }
     */
    expirationMileage?: string | number;
};
/**
 * {
 */
export type ServiceVehicleAdvisorContactInfo = {
    /**
     * }
     */
    nameRecId: string | number;
};
/**
 * {
 */
export type ServiceVehicleServInfo = {
    customerNo: string | number;
    salesmanNo?: string | number;
    inServiceDate?: string | number;
    mileage?: string | number;
    teamCode?: string;
    vehExtWarranty?: ServiceVehicleWarranty;
    /**
     * }
     */
    advisor?: {
        contactInfo?: ServiceVehicleAdvisorContactInfo;
    };
};
/**
 * {
 */
export type InsertServiceVehiclePayload = {
    vin: string;
    modelDesc?: string;
    carline?: string;
    extClrDesc?: string;
    intClrDesc?: string;
    trimDesc?: string;
    bodyStyle?: string;
    engineDesc?: string;
    transDesc?: string;
    year?: string | number;
    odometer?: string | number;
    odometerUnits?: string;
    vehicleDetail?: ServiceVehicleDetail;
    /**
     * }
     */
    vehicleServInfo: ServiceVehicleServInfo;
};
/**
 * {
 */
export type ServiceVehicleResponseData = {
    status: string | undefined;
    /**
     * }
     */
    statusCode: string | undefined;
};
/**
 * {
 */
export type RepairOrderEstimate = {
    parts?: string | number;
    labor?: string | number;
    total?: string | number;
    /**
     * }
     */
    estimateType?: string;
};
/**
 * {
 */
export type RepairOrderTax = {
    payType?: "All" | "Cust" | "Intr" | "Warr";
    taxCode?: string;
    txblGrossAmt?: string | number;
    /**
     * }
     */
    grossTaxAmt?: string | number;
};
/**
 * {
 */
export type RepairOrderLaborBill = {
    payType?: "All" | "Cust" | "Intr" | "Warr";
    jobTotalHrs?: string | number;
    billTime?: string | number;
    /**
     * }
     */
    billRate?: string | number;
};
/**
 * {
 */
export type RepairOrderLaborCCC = {
    cause?: string;
    complaint?: string;
    /**
     * }
     */
    correction?: string;
};
/**
 * {
 */
export type RepairOrderLaborAmount = {
    payType?: "All" | "Cust" | "Intr" | "Warr";
    amtType?: string;
    custPrice?: string | number;
    /**
     * }
     */
    totalAmt?: string | number;
};
/**
 * {
 */
export type RepairOrderLaborOp = {
    opCode?: string;
    jobNo?: string | number;
    custTxblNtxblFlag?: "T" | "N";
    warrTxblNtxblFlag?: "T" | "N";
    intrTxblNtxblFlag?: "T" | "N";
    custPayTypeFlag?: string;
    warrPayTypeFlag?: string;
    intrPayTypeFlag?: string;
    vlrCode?: string;
    bill?: RepairOrderLaborBill;
    ccc?: RepairOrderLaborCCC;
    /**
     * }
     */
    amount?: RepairOrderLaborAmount;
};
/**
 * {
 */
export type RepairOrderLabor = {
    /**
     * }
     */
    ops?: RepairOrderLaborOp[];
};
/**
 * {
 */
export type RepairOrderPartLine = {
    partNo?: string;
    partNoDesc?: string;
    partQty?: string | number;
    sale?: string | number;
    cost?: string | number;
    /**
     * }
     */
    addDeleteFlag?: string;
};
/**
 * {
 */
export type RepairOrderPartJob = {
    opCode?: string;
    jobNo?: string | number;
    /**
     * }
     */
    lines?: RepairOrderPartLine[];
};
/**
 * {
 */
export type RepairOrderPart = {
    /**
     * }
     */
    jobs?: RepairOrderPartJob[];
};
/**
 * {
 */
export type RepairOrderGGLineAmount = {
    payType?: "All" | "Cust" | "Intr" | "Warr";
    amtType?: string;
    custPrice?: string | number;
    /**
     * }
     */
    dlrCost?: string | number;
};
/**
 * {
 */
export type RepairOrderGGLine = {
    breakOut?: string;
    itemType?: "G" | "P" | "S" | "F";
    itemDesc?: string;
    custQty?: string | number;
    warrQty?: string | number;
    intrQty?: string | number;
    custTxblNtxblFlag?: "T" | "N";
    warrTxblNtxblFlag?: "T" | "N";
    intrTxblNtxblFlag?: "T" | "N";
    custPayTypeFlag?: string;
    warrPayTypeFlag?: string;
    intrPayTypeFlag?: string;
    /**
     * }
     */
    amount?: RepairOrderGGLineAmount;
};
/**
 * {
 */
export type RepairOrderGGOp = {
    opCode?: string;
    jobNo?: string | number;
    /**
     * }
     */
    lines?: RepairOrderGGLine[];
};
/**
 * {
 */
export type RepairOrderGG = {
    roNo?: string | number;
    /**
     * }
     */
    ops?: RepairOrderGGOp[];
};
/**
 * {
 */
export type RepairOrderMiscLine = {
    miscCode?: string;
    custTxblNtxblFlag?: "T" | "N";
    warrTxblNtxblFlag?: "T" | "N";
    intrTxblNtxblFlag?: "T" | "N";
    custPayTypeFlag?: string;
    warrPayTypeFlag?: string;
    intrPayTypeFlag?: string;
    /**
     * }
     */
    codeAmt?: string | number;
};
/**
 * {
 */
export type RepairOrderMiscOp = {
    opCode?: string;
    jobNo?: string | number;
    /**
     * }
     */
    lines?: RepairOrderMiscLine[];
};
/**
 * {
 */
export type RepairOrderMisc = {
    roNo?: string | number;
    /**
     * }
     */
    ops?: RepairOrderMiscOp[];
};
export type CreateRepairOrderPayload = {
    /**
     * Customer number (CustNo)
     */
    customerNo: string | number;
    /**
     * Department type (DeptType)
     */
    departmentType: string | number;
    /**
     * Vehicle VIN (Vin)
     */
    vin: string;
    /**
     * External RO identifier
     */
    outsdRoNo: string | number;
    /**
     * Advisor number
     */
    advisorNo?: string | number;
    /**
     * Tag number
     */
    tagNo?: string | number;
    /**
     * Mileage in value
     */
    mileageIn?: string | number;
    /**
     * Repair order comment
     */
    roComment?: string;
    /**
     * Repair order estimate block
     */
    estimate?: RepairOrderEstimate;
    /**
     * Tax block
     */
    tax?: RepairOrderTax;
    /**
     * Labor operations
     */
    rolabor?: RepairOrderLabor;
    /**
     * Parts jobs/lines
     */
    ropart?: RepairOrderPart;
    /**
     * General goods lines
     */
    rogg?: RepairOrderGG;
    /**
     * Miscellaneous charges
     */
    romisc?: RepairOrderMisc;
};
/**
 * {
 */
export type UpdateRepairOrderPayload = {
    finalUpdate: "Y" | "N";
    outsdRoNo: string | number;
    roNo?: string | number;
    customerNo?: string | number;
    tagNo?: string | number;
    departmentType?: string | number;
    vin?: string;
    mileageIn?: string | number;
    mileageOut?: string | number;
    roComment?: string;
    estimate?: RepairOrderEstimate;
    tax?: RepairOrderTax;
    rolabor?: RepairOrderLabor;
    ropart?: RepairOrderPart;
    rogg?: RepairOrderGG;
    /**
     * }
     */
    romisc?: RepairOrderMisc;
};
/**
 * {
 */
export type RepairOrderData = {
    status: string | undefined;
    date: string | undefined;
    time: string | undefined;
    outsdRoNo: string | undefined;
    dmsRoNo: string | undefined;
    /**
     * }
     */
    errorMessage: string | undefined;
};
/**
 * {
 */
export type GetAdvisorsParams = {
    department: "S" | "P" | "B" | "SERVICE" | "PARTS" | "BODY" | "BODYSHOP" | "BODY SHOP";
    advisorNumber?: string | number;
    /**
     * }
     */
    maxResults?: number;
};
/**
 * {
 */
export type AdvisorRow = {
    advisorId: string | number | undefined;
    firstName: string | undefined;
    lastName: string | undefined;
    /**
     * }
     */
    department: "S" | "P" | "B" | undefined;
};
/**
 * {
 */
export type GetPartsParams = {
    /**
     * }
     */
    roNumber: string | number;
};
/**
 * {
 */
export type PartRow = {
    partNumber: string | undefined;
    partDescription: string | undefined;
    quantityOrdered: string | number | undefined;
    quantityShipped: string | number | undefined;
    price: string | number | undefined;
    cost: string | number | undefined;
    processedFlag: string | undefined;
    /**
     * }
     */
    addOrDelete: string | undefined;
};
