/**
 * 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 { LogOperation } from './LogOperation';
import { LogService } from './LogService';
/**
 *
 * @export
 * @interface Log
 */
export interface Log {
    /**
     * Indicates if the request was made via REST or Graphql endpoint.
     * @type {string}
     * @memberof Log
     */
    api_style: string;
    /**
     * The Apideck base URL the request was made to.
     * @type {string}
     * @memberof Log
     */
    base_url: string;
    /**
     * Indicates whether or not this is a child or parent request.
     * @type {boolean}
     * @memberof Log
     */
    child_request: boolean;
    /**
     * The consumer Id associated with the request.
     * @type {string}
     * @memberof Log
     */
    consumer_id: string;
    /**
     * The entire execution time in milliseconds it took to call the Apideck service provider.
     * @type {number}
     * @memberof Log
     */
    duration: number;
    /**
     * The entire execution time in milliseconds it took to make the request.
     * @type {number}
     * @memberof Log
     */
    execution: number;
    /**
     * When request is a parent request, this indicates if there are child requests associated.
     * @type {boolean}
     * @memberof Log
     */
    has_children: boolean;
    /**
     * HTTP Method of request.
     * @type {string}
     * @memberof Log
     */
    http_method: string;
    /**
     * UUID acting as Request Identifier.
     * @type {string}
     * @memberof Log
     */
    id: string;
    /**
     * Latency added by making this request via Unified Api.
     * @type {number}
     * @memberof Log
     */
    latency: number;
    /**
     *
     * @type {LogOperation}
     * @memberof Log
     */
    operation: LogOperation;
    /**
     * When request is a child request, this UUID indicates it's parent request.
     * @type {string}
     * @memberof Log
     */
    parent_id: string | null;
    /**
     * The path component of the URI the request was made to.
     * @type {string}
     * @memberof Log
     */
    path: string;
    /**
     * Indicates whether the request was made using Apidecks sandbox credentials or not.
     * @type {boolean}
     * @memberof Log
     */
    sandbox: boolean;
    /**
     *
     * @type {LogService}
     * @memberof Log
     */
    service: LogService;
    /**
     * HTTP Status code that was returned.
     * @type {number}
     * @memberof Log
     */
    status_code: number;
    /**
     * Whether or not the request was successful.
     * @type {boolean}
     * @memberof Log
     */
    success: boolean;
    /**
     * ISO Date and time when the request was made.
     * @type {string}
     * @memberof Log
     */
    timestamp: string;
    /**
     * Which Unified Api request was made to.
     * @type {string}
     * @memberof Log
     */
    unified_api: LogUnifiedApi;
    /**
     * If error occurred, this is brief explanation
     * @type {string}
     * @memberof Log
     */
    error_message?: string | null;
    /**
     * The IP address of the source of the request.
     * @type {string}
     * @memberof Log
     */
    source_ip?: string | null;
}
/**
 * @export
 * @enum {string}
 */
export declare enum LogUnifiedApi {
    crm = "crm",
    lead = "lead",
    proxy = "proxy",
    vault = "vault",
    accounting = "accounting",
    hris = "hris",
    ats = "ats",
    ecommerce = "ecommerce",
    issue_tracking = "issue-tracking",
    pos = "pos",
    file_storage = "file-storage",
    sms = "sms"
}
export declare function LogFromJSON(json: any): Log;
export declare function LogFromJSONTyped(json: any, ignoreDiscriminator: boolean): Log;
export declare function LogToJSON(value?: Log | null): any;
