import * as z from "zod/v3";
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 RequestT = {
    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 StepLogResponse = {
    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 StepLog = {
    /**
     * 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?: RequestT | null | undefined;
    /**
     * The request ID
     */
    requestId?: string | null | undefined;
    /**
     * The requested resource
     */
    resource?: string | null | undefined;
    /**
     * The advanced log response data
     */
    response?: StepLogResponse | null | undefined;
    /**
     * The requested service
     */
    service?: string | null | undefined;
    /**
     * The requests source IPV4 ip address
     */
    sourceIp?: 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 RequestT$inboundSchema: z.ZodType<RequestT, z.ZodTypeDef, unknown>;
/** @internal */
export type RequestT$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 RequestT$outboundSchema: z.ZodType<RequestT$Outbound, z.ZodTypeDef, RequestT>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace RequestT$ {
    /** @deprecated use `RequestT$inboundSchema` instead. */
    const inboundSchema: z.ZodType<RequestT, z.ZodTypeDef, unknown>;
    /** @deprecated use `RequestT$outboundSchema` instead. */
    const outboundSchema: z.ZodType<RequestT$Outbound, z.ZodTypeDef, RequestT>;
    /** @deprecated use `RequestT$Outbound` instead. */
    type Outbound = RequestT$Outbound;
}
export declare function requestToJSON(requestT: RequestT): string;
export declare function requestFromJSON(jsonString: string): SafeParseResult<RequestT, SDKValidationError>;
/** @internal */
export declare const StepLogResponse$inboundSchema: z.ZodType<StepLogResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type StepLogResponse$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 StepLogResponse$outboundSchema: z.ZodType<StepLogResponse$Outbound, z.ZodTypeDef, StepLogResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace StepLogResponse$ {
    /** @deprecated use `StepLogResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<StepLogResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `StepLogResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<StepLogResponse$Outbound, z.ZodTypeDef, StepLogResponse>;
    /** @deprecated use `StepLogResponse$Outbound` instead. */
    type Outbound = StepLogResponse$Outbound;
}
export declare function stepLogResponseToJSON(stepLogResponse: StepLogResponse): string;
export declare function stepLogResponseFromJSON(jsonString: string): SafeParseResult<StepLogResponse, SDKValidationError>;
/** @internal */
export declare const StepLog$inboundSchema: z.ZodType<StepLog, z.ZodTypeDef, unknown>;
/** @internal */
export type StepLog$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?: RequestT$Outbound | null | undefined;
    request_id?: string | null | undefined;
    resource?: string | null | undefined;
    response?: StepLogResponse$Outbound | null | undefined;
    service?: string | null | undefined;
    source_ip?: 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 StepLog$outboundSchema: z.ZodType<StepLog$Outbound, z.ZodTypeDef, StepLog>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace StepLog$ {
    /** @deprecated use `StepLog$inboundSchema` instead. */
    const inboundSchema: z.ZodType<StepLog, z.ZodTypeDef, unknown>;
    /** @deprecated use `StepLog$outboundSchema` instead. */
    const outboundSchema: z.ZodType<StepLog$Outbound, z.ZodTypeDef, StepLog>;
    /** @deprecated use `StepLog$Outbound` instead. */
    type Outbound = StepLog$Outbound;
}
export declare function stepLogToJSON(stepLog: StepLog): string;
export declare function stepLogFromJSON(jsonString: string): SafeParseResult<StepLog, SDKValidationError>;
//# sourceMappingURL=steplog.d.ts.map