import * as z from "zod";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { CustomMappingError, CustomMappingError$Outbound } from "./custommappingerror.js";
import { ProviderError, ProviderError$Outbound } from "./providererror.js";
/**
 * The request URL data
 */
export type Url = {
    /**
     * The request URL hostname
     */
    hostname?: string | null | undefined;
    /**
     * The request path
     */
    path?: string | null | undefined;
    /**
     * The request query parameters
     */
    queryParams?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * The request URL
     */
    url?: string | null | undefined;
};
/**
 * The advanced log request data
 */
export type Request = {
    body?: any | null | undefined;
    headers?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * The request ID
     */
    id?: string | null | undefined;
    /**
     * The request method
     */
    method?: string | null | undefined;
    /**
     * The request URL data
     */
    url?: Url | null | undefined;
};
/**
 * The advanced log response data
 */
export type Response = {
    body?: any | null | undefined;
    /**
     * The custom mapping errors
     */
    customMappingErrors?: Array<CustomMappingError> | null | undefined;
    headers?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * The provider errors
     */
    providerErrors?: Array<ProviderError> | null | undefined;
    /**
     * The response status code
     */
    statusCode?: number | null | undefined;
};
export type StepLogsApiModel = {
    /**
     * The account ID of the request
     */
    accountId?: string | null | undefined;
    /**
     * The requested action
     */
    action?: string | null | undefined;
    /**
     * The requested child resource
     */
    childResource?: string | null | undefined;
    /**
     * The request duration in milliseconds
     */
    duration?: number | null | undefined;
    /**
     * The request end time ISO8601 date string
     */
    endTime?: Date | null | undefined;
    /**
     * The requested HTTP method
     */
    httpMethod?: string | null | undefined;
    /**
     * The provider request ID
     */
    id?: string | null | undefined;
    /**
     * The asynchronous worker flag
     */
    isWorker?: boolean | null | undefined;
    /**
     * The requested path
     */
    path?: string | null | undefined;
    /**
     * The project ID of the request
     */
    projectId?: string | null | undefined;
    /**
     * The requested provider
     */
    provider?: string | null | undefined;
    /**
     * The advanced log request data
     */
    request?: Request | null | undefined;
    /**
     * The request ID
     */
    requestId?: string | null | undefined;
    /**
     * The requested resource
     */
    resource?: string | null | undefined;
    /**
     * The advanced log response data
     */
    response?: Response | null | undefined;
    /**
     * The requested service
     */
    service?: string | null | undefined;
    /**
     * The request start time ISO8601 date string
     */
    startTime?: Date | null | undefined;
    /**
     * The requests response status code
     */
    status?: number | null | undefined;
    /**
     * The requested sub resource
     */
    subResource?: string | null | undefined;
    /**
     * The request success flag
     */
    success?: boolean | null | undefined;
    /**
     * The requested URL
     */
    url?: string | null | undefined;
};
/** @internal */
export declare const Url$inboundSchema: z.ZodType<Url, z.ZodTypeDef, unknown>;
/** @internal */
export type Url$Outbound = {
    hostname?: string | null | undefined;
    path?: string | null | undefined;
    query_params?: {
        [k: string]: any;
    } | null | undefined;
    url?: string | null | undefined;
};
/** @internal */
export declare const Url$outboundSchema: z.ZodType<Url$Outbound, z.ZodTypeDef, Url>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Url$ {
    /** @deprecated use `Url$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Url, z.ZodTypeDef, unknown>;
    /** @deprecated use `Url$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Url$Outbound, z.ZodTypeDef, Url>;
    /** @deprecated use `Url$Outbound` instead. */
    type Outbound = Url$Outbound;
}
export declare function urlToJSON(url: Url): string;
export declare function urlFromJSON(jsonString: string): SafeParseResult<Url, SDKValidationError>;
/** @internal */
export declare const Request$inboundSchema: z.ZodType<Request, z.ZodTypeDef, unknown>;
/** @internal */
export type Request$Outbound = {
    body?: any | null | undefined;
    headers?: {
        [k: string]: any;
    } | null | undefined;
    id?: string | null | undefined;
    method?: string | null | undefined;
    url?: Url$Outbound | null | undefined;
};
/** @internal */
export declare const Request$outboundSchema: z.ZodType<Request$Outbound, z.ZodTypeDef, Request>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Request$ {
    /** @deprecated use `Request$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Request, z.ZodTypeDef, unknown>;
    /** @deprecated use `Request$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Request$Outbound, z.ZodTypeDef, Request>;
    /** @deprecated use `Request$Outbound` instead. */
    type Outbound = Request$Outbound;
}
export declare function requestToJSON(request: Request): string;
export declare function requestFromJSON(jsonString: string): SafeParseResult<Request, SDKValidationError>;
/** @internal */
export declare const Response$inboundSchema: z.ZodType<Response, z.ZodTypeDef, unknown>;
/** @internal */
export type Response$Outbound = {
    body?: any | null | undefined;
    custom_mapping_errors?: Array<CustomMappingError$Outbound> | null | undefined;
    headers?: {
        [k: string]: any;
    } | null | undefined;
    provider_errors?: Array<ProviderError$Outbound> | null | undefined;
    status_code?: number | null | undefined;
};
/** @internal */
export declare const Response$outboundSchema: z.ZodType<Response$Outbound, z.ZodTypeDef, Response>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Response$ {
    /** @deprecated use `Response$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Response, z.ZodTypeDef, unknown>;
    /** @deprecated use `Response$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Response$Outbound, z.ZodTypeDef, Response>;
    /** @deprecated use `Response$Outbound` instead. */
    type Outbound = Response$Outbound;
}
export declare function responseToJSON(response: Response): string;
export declare function responseFromJSON(jsonString: string): SafeParseResult<Response, SDKValidationError>;
/** @internal */
export declare const StepLogsApiModel$inboundSchema: z.ZodType<StepLogsApiModel, z.ZodTypeDef, unknown>;
/** @internal */
export type StepLogsApiModel$Outbound = {
    account_id?: string | null | undefined;
    action?: string | null | undefined;
    child_resource?: string | null | undefined;
    duration?: number | null | undefined;
    end_time?: string | null | undefined;
    http_method?: string | null | undefined;
    id?: string | null | undefined;
    is_worker?: boolean | null | undefined;
    path?: string | null | undefined;
    project_id?: string | null | undefined;
    provider?: string | null | undefined;
    request?: Request$Outbound | null | undefined;
    request_id?: string | null | undefined;
    resource?: string | null | undefined;
    response?: Response$Outbound | null | undefined;
    service?: string | null | undefined;
    start_time?: string | null | undefined;
    status?: number | null | undefined;
    sub_resource?: string | null | undefined;
    success?: boolean | null | undefined;
    url?: string | null | undefined;
};
/** @internal */
export declare const StepLogsApiModel$outboundSchema: z.ZodType<StepLogsApiModel$Outbound, z.ZodTypeDef, StepLogsApiModel>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace StepLogsApiModel$ {
    /** @deprecated use `StepLogsApiModel$inboundSchema` instead. */
    const inboundSchema: z.ZodType<StepLogsApiModel, z.ZodTypeDef, unknown>;
    /** @deprecated use `StepLogsApiModel$outboundSchema` instead. */
    const outboundSchema: z.ZodType<StepLogsApiModel$Outbound, z.ZodTypeDef, StepLogsApiModel>;
    /** @deprecated use `StepLogsApiModel$Outbound` instead. */
    type Outbound = StepLogsApiModel$Outbound;
}
export declare function stepLogsApiModelToJSON(stepLogsApiModel: StepLogsApiModel): string;
export declare function stepLogsApiModelFromJSON(jsonString: string): SafeParseResult<StepLogsApiModel, SDKValidationError>;
//# sourceMappingURL=steplogsapimodel.d.ts.map