import * as z from "zod/v3";
import { ClosedEnum } from "../types/enums.js";
import { Result as SafeParseResult } from "../types/fp.js";
import { SDKValidationError } from "./sdkvalidationerror.js";
export type TestDrainSchemas = {
    version: string;
};
export declare const TestDrainDeliveryDrainsRequestEncoding: {
    readonly Json: "json";
    readonly Ndjson: "ndjson";
};
export type TestDrainDeliveryDrainsRequestEncoding = ClosedEnum<typeof TestDrainDeliveryDrainsRequestEncoding>;
export declare const TestDrainDeliveryDrainsCompression: {
    readonly None: "none";
};
export type TestDrainDeliveryDrainsCompression = ClosedEnum<typeof TestDrainDeliveryDrainsCompression>;
export declare const TestDrainDeliveryFileStructure: {
    readonly Hive: "hive";
};
export type TestDrainDeliveryFileStructure = ClosedEnum<typeof TestDrainDeliveryFileStructure>;
export declare const TestDrainDeliveryServerSideEncryption: {
    readonly Aes256: "AES256";
    readonly AwsKms: "aws:kms";
    readonly AwsKmsDsse: "aws:kms:dsse";
};
export type TestDrainDeliveryServerSideEncryption = ClosedEnum<typeof TestDrainDeliveryServerSideEncryption>;
export declare const TestDrainDeliveryObjectAcl: {
    readonly Private: "private";
    readonly BucketOwnerRead: "bucket-owner-read";
    readonly BucketOwnerFullControl: "bucket-owner-full-control";
};
export type TestDrainDeliveryObjectAcl = ClosedEnum<typeof TestDrainDeliveryObjectAcl>;
export type TestDrainDelivery3 = {
    type: string;
    endpoint: string;
    encoding: TestDrainDeliveryDrainsRequestEncoding;
    compression: TestDrainDeliveryDrainsCompression;
    fileStructure: TestDrainDeliveryFileStructure;
    roleArn: string;
    region: string;
    serverSideEncryption?: TestDrainDeliveryServerSideEncryption | undefined;
    objectAcl?: TestDrainDeliveryObjectAcl | undefined;
};
export type TestDrainEndpoint1 = {
    traces: string;
};
export type TestDrainDeliveryEndpoint = TestDrainEndpoint1;
export declare const TestDrainDeliveryDrainsEncoding: {
    readonly Proto: "proto";
    readonly Json: "json";
};
export type TestDrainDeliveryDrainsEncoding = ClosedEnum<typeof TestDrainDeliveryDrainsEncoding>;
export type TestDrainDelivery2 = {
    type: string;
    endpoint: TestDrainEndpoint1;
    encoding: TestDrainDeliveryDrainsEncoding;
    headers: {
        [k: string]: string;
    };
    secret?: string | undefined;
};
export declare const TestDrainDeliveryCompression: {
    readonly Gzip: "gzip";
    readonly None: "none";
};
export type TestDrainDeliveryCompression = ClosedEnum<typeof TestDrainDeliveryCompression>;
export declare const TestDrainDeliveryEncoding: {
    readonly Json: "json";
    readonly Ndjson: "ndjson";
};
export type TestDrainDeliveryEncoding = ClosedEnum<typeof TestDrainDeliveryEncoding>;
export type TestDrainDelivery1 = {
    type: string;
    endpoint: string;
    compression?: TestDrainDeliveryCompression | undefined;
    encoding: TestDrainDeliveryEncoding;
    headers: {
        [k: string]: string;
    };
    secret?: string | undefined;
};
export type TestDrainDelivery = TestDrainDelivery3 | TestDrainDelivery1 | TestDrainDelivery2;
export type TestDrainRequestBody = {
    schemas: {
        [k: string]: TestDrainSchemas;
    };
    delivery: TestDrainDelivery3 | TestDrainDelivery1 | TestDrainDelivery2;
};
export type TestDrainRequest = {
    /**
     * The Team identifier to perform the request on behalf of.
     */
    teamId?: string | undefined;
    /**
     * The Team slug to perform the request on behalf of.
     */
    slug?: string | undefined;
    requestBody?: TestDrainRequestBody | undefined;
};
export type TestDrainResponseBody2 = {
    status: string;
    error: string;
    endpoint: string;
};
export type TestDrainResponseBody1 = {};
export type TestDrainResponseBody = TestDrainResponseBody2 | TestDrainResponseBody1;
/** @internal */
export type TestDrainSchemas$Outbound = {
    version: string;
};
/** @internal */
export declare const TestDrainSchemas$outboundSchema: z.ZodType<TestDrainSchemas$Outbound, z.ZodTypeDef, TestDrainSchemas>;
export declare function testDrainSchemasToJSON(testDrainSchemas: TestDrainSchemas): string;
/** @internal */
export declare const TestDrainDeliveryDrainsRequestEncoding$outboundSchema: z.ZodNativeEnum<typeof TestDrainDeliveryDrainsRequestEncoding>;
/** @internal */
export declare const TestDrainDeliveryDrainsCompression$outboundSchema: z.ZodNativeEnum<typeof TestDrainDeliveryDrainsCompression>;
/** @internal */
export declare const TestDrainDeliveryFileStructure$outboundSchema: z.ZodNativeEnum<typeof TestDrainDeliveryFileStructure>;
/** @internal */
export declare const TestDrainDeliveryServerSideEncryption$outboundSchema: z.ZodNativeEnum<typeof TestDrainDeliveryServerSideEncryption>;
/** @internal */
export declare const TestDrainDeliveryObjectAcl$outboundSchema: z.ZodNativeEnum<typeof TestDrainDeliveryObjectAcl>;
/** @internal */
export type TestDrainDelivery3$Outbound = {
    type: string;
    endpoint: string;
    encoding: string;
    compression: string;
    fileStructure: string;
    roleArn: string;
    region: string;
    serverSideEncryption?: string | undefined;
    objectAcl?: string | undefined;
};
/** @internal */
export declare const TestDrainDelivery3$outboundSchema: z.ZodType<TestDrainDelivery3$Outbound, z.ZodTypeDef, TestDrainDelivery3>;
export declare function testDrainDelivery3ToJSON(testDrainDelivery3: TestDrainDelivery3): string;
/** @internal */
export type TestDrainEndpoint1$Outbound = {
    traces: string;
};
/** @internal */
export declare const TestDrainEndpoint1$outboundSchema: z.ZodType<TestDrainEndpoint1$Outbound, z.ZodTypeDef, TestDrainEndpoint1>;
export declare function testDrainEndpoint1ToJSON(testDrainEndpoint1: TestDrainEndpoint1): string;
/** @internal */
export type TestDrainDeliveryEndpoint$Outbound = TestDrainEndpoint1$Outbound;
/** @internal */
export declare const TestDrainDeliveryEndpoint$outboundSchema: z.ZodType<TestDrainDeliveryEndpoint$Outbound, z.ZodTypeDef, TestDrainDeliveryEndpoint>;
export declare function testDrainDeliveryEndpointToJSON(testDrainDeliveryEndpoint: TestDrainDeliveryEndpoint): string;
/** @internal */
export declare const TestDrainDeliveryDrainsEncoding$outboundSchema: z.ZodNativeEnum<typeof TestDrainDeliveryDrainsEncoding>;
/** @internal */
export type TestDrainDelivery2$Outbound = {
    type: string;
    endpoint: TestDrainEndpoint1$Outbound;
    encoding: string;
    headers: {
        [k: string]: string;
    };
    secret?: string | undefined;
};
/** @internal */
export declare const TestDrainDelivery2$outboundSchema: z.ZodType<TestDrainDelivery2$Outbound, z.ZodTypeDef, TestDrainDelivery2>;
export declare function testDrainDelivery2ToJSON(testDrainDelivery2: TestDrainDelivery2): string;
/** @internal */
export declare const TestDrainDeliveryCompression$outboundSchema: z.ZodNativeEnum<typeof TestDrainDeliveryCompression>;
/** @internal */
export declare const TestDrainDeliveryEncoding$outboundSchema: z.ZodNativeEnum<typeof TestDrainDeliveryEncoding>;
/** @internal */
export type TestDrainDelivery1$Outbound = {
    type: string;
    endpoint: string;
    compression?: string | undefined;
    encoding: string;
    headers: {
        [k: string]: string;
    };
    secret?: string | undefined;
};
/** @internal */
export declare const TestDrainDelivery1$outboundSchema: z.ZodType<TestDrainDelivery1$Outbound, z.ZodTypeDef, TestDrainDelivery1>;
export declare function testDrainDelivery1ToJSON(testDrainDelivery1: TestDrainDelivery1): string;
/** @internal */
export type TestDrainDelivery$Outbound = TestDrainDelivery3$Outbound | TestDrainDelivery1$Outbound | TestDrainDelivery2$Outbound;
/** @internal */
export declare const TestDrainDelivery$outboundSchema: z.ZodType<TestDrainDelivery$Outbound, z.ZodTypeDef, TestDrainDelivery>;
export declare function testDrainDeliveryToJSON(testDrainDelivery: TestDrainDelivery): string;
/** @internal */
export type TestDrainRequestBody$Outbound = {
    schemas: {
        [k: string]: TestDrainSchemas$Outbound;
    };
    delivery: TestDrainDelivery3$Outbound | TestDrainDelivery1$Outbound | TestDrainDelivery2$Outbound;
};
/** @internal */
export declare const TestDrainRequestBody$outboundSchema: z.ZodType<TestDrainRequestBody$Outbound, z.ZodTypeDef, TestDrainRequestBody>;
export declare function testDrainRequestBodyToJSON(testDrainRequestBody: TestDrainRequestBody): string;
/** @internal */
export type TestDrainRequest$Outbound = {
    teamId?: string | undefined;
    slug?: string | undefined;
    RequestBody?: TestDrainRequestBody$Outbound | undefined;
};
/** @internal */
export declare const TestDrainRequest$outboundSchema: z.ZodType<TestDrainRequest$Outbound, z.ZodTypeDef, TestDrainRequest>;
export declare function testDrainRequestToJSON(testDrainRequest: TestDrainRequest): string;
/** @internal */
export declare const TestDrainResponseBody2$inboundSchema: z.ZodType<TestDrainResponseBody2, z.ZodTypeDef, unknown>;
export declare function testDrainResponseBody2FromJSON(jsonString: string): SafeParseResult<TestDrainResponseBody2, SDKValidationError>;
/** @internal */
export declare const TestDrainResponseBody1$inboundSchema: z.ZodType<TestDrainResponseBody1, z.ZodTypeDef, unknown>;
export declare function testDrainResponseBody1FromJSON(jsonString: string): SafeParseResult<TestDrainResponseBody1, SDKValidationError>;
/** @internal */
export declare const TestDrainResponseBody$inboundSchema: z.ZodType<TestDrainResponseBody, z.ZodTypeDef, unknown>;
export declare function testDrainResponseBodyFromJSON(jsonString: string): SafeParseResult<TestDrainResponseBody, SDKValidationError>;
//# sourceMappingURL=testdrainop.d.ts.map