import * as z from "zod";
import { Result as SafeParseResult } from "../../types/fp.js";
import * as components from "../components/index.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type CreateBasinRequest = {
    /**
     * Name of the basin.
     */
    basin: string;
    s2RequestToken?: string | undefined;
    createBasinRequest: components.CreateBasinRequest;
};
/** @internal */
export declare const CreateBasinRequest$inboundSchema: z.ZodType<CreateBasinRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateBasinRequest$Outbound = {
    basin: string;
    "s2-request-token"?: string | undefined;
    CreateBasinRequest: components.CreateBasinRequest$Outbound;
};
/** @internal */
export declare const CreateBasinRequest$outboundSchema: z.ZodType<CreateBasinRequest$Outbound, z.ZodTypeDef, CreateBasinRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateBasinRequest$ {
    /** @deprecated use `CreateBasinRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateBasinRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateBasinRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateBasinRequest$Outbound, z.ZodTypeDef, CreateBasinRequest>;
    /** @deprecated use `CreateBasinRequest$Outbound` instead. */
    type Outbound = CreateBasinRequest$Outbound;
}
export declare function createBasinRequestToJSON(createBasinRequest: CreateBasinRequest): string;
export declare function createBasinRequestFromJSON(jsonString: string): SafeParseResult<CreateBasinRequest, SDKValidationError>;
//# sourceMappingURL=createbasin.d.ts.map