import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
 * The request as defined in OpenApi Spec.
 */
export type Operation = {
    /**
     * The OpenApi Operation Id associated with the request
     */
    id: string;
    /**
     * The OpenApi Operation name associated with the request
     */
    name: string;
};
/**
 * Apideck service provider associated with request.
 */
export type Service = {
    /**
     * Apideck service provider id.
     */
    id: string;
    /**
     * Apideck service provider name.
     */
    name: string;
};
/**
 * Which Unified Api request was made to.
 */
export declare const UnifiedApi: {
    readonly Crm: "crm";
    readonly Lead: "lead";
    readonly Proxy: "proxy";
    readonly Vault: "vault";
    readonly Accounting: "accounting";
    readonly Hris: "hris";
    readonly Ats: "ats";
    readonly Ecommerce: "ecommerce";
    readonly IssueTracking: "issue-tracking";
    readonly Pos: "pos";
    readonly FileStorage: "file-storage";
    readonly Sms: "sms";
};
/**
 * Which Unified Api request was made to.
 */
export type UnifiedApi = ClosedEnum<typeof UnifiedApi>;
export type Log = {
    /**
     * Indicates if the request was made via REST or Graphql endpoint.
     */
    apiStyle: string;
    /**
     * The Apideck base URL the request was made to.
     */
    baseUrl: string;
    /**
     * Indicates whether or not this is a child or parent request.
     */
    childRequest: boolean;
    /**
     * The consumer Id associated with the request.
     */
    consumerId: string;
    /**
     * The entire execution time in milliseconds it took to call the Apideck service provider.
     */
    duration: number;
    /**
     * If error occurred, this is brief explanation
     */
    errorMessage?: string | null | undefined;
    /**
     * The entire execution time in milliseconds it took to make the request.
     */
    execution: number;
    /**
     * When request is a parent request, this indicates if there are child requests associated.
     */
    hasChildren: boolean;
    /**
     * HTTP Method of request.
     */
    httpMethod: string;
    /**
     * UUID acting as Request Identifier.
     */
    id: string;
    /**
     * Latency added by making this request via Unified Api.
     */
    latency: number;
    /**
     * The request as defined in OpenApi Spec.
     */
    operation: Operation;
    /**
     * When request is a child request, this UUID indicates it's parent request.
     */
    parentId: string | null;
    /**
     * The path component of the URI the request was made to.
     */
    path: string;
    /**
     * Indicates whether the request was made using Apidecks sandbox credentials or not.
     */
    sandbox: boolean;
    /**
     * Apideck service provider associated with request.
     */
    service: Service;
    /**
     * The IP address of the source of the request.
     */
    sourceIp?: string | null | undefined;
    /**
     * HTTP Status code that was returned.
     */
    statusCode: number;
    /**
     * Whether or not the request was successful.
     */
    success: boolean;
    /**
     * ISO Date and time when the request was made.
     */
    timestamp: string;
    /**
     * Which Unified Api request was made to.
     */
    unifiedApi: UnifiedApi;
};
/** @internal */
export declare const Operation$inboundSchema: z.ZodType<Operation, z.ZodTypeDef, unknown>;
export declare function operationFromJSON(jsonString: string): SafeParseResult<Operation, SDKValidationError>;
/** @internal */
export declare const Service$inboundSchema: z.ZodType<Service, z.ZodTypeDef, unknown>;
export declare function serviceFromJSON(jsonString: string): SafeParseResult<Service, SDKValidationError>;
/** @internal */
export declare const UnifiedApi$inboundSchema: z.ZodNativeEnum<typeof UnifiedApi>;
/** @internal */
export declare const Log$inboundSchema: z.ZodType<Log, z.ZodTypeDef, unknown>;
export declare function logFromJSON(jsonString: string): SafeParseResult<Log, SDKValidationError>;
//# sourceMappingURL=log.d.ts.map