import { A as HTTPError, C as CallApiRequestOptions, F as BaseCallApiSchemaRoutes, L as CallApiSchema, R as CallApiSchemaConfig, _ as BaseCallApiConfig, a as CallApiPlugin, et as AnyFunction, f as PossibleHTTPError, j as ValidationError, l as CallApiResultErrorVariant, m as PossibleValidationError, nt as Writeable, p as PossibleJavaScriptError, tt as Satisfies } from "../../index-DLD315Wj.js";

//#region src/utils/external/body.d.ts
declare const toQueryString: (data: NonNullable<CallApiRequestOptions["body"]>) => string;
/**
 * @description Converts a plain object to FormData.
 *
 * Handles various data types:
 * - **Primitives** (string, number, boolean): Converted to strings
 * - **Blobs/Files**: Added directly to FormData
 * - **Arrays**: Each item is appended (allows multiple values for same key)
 * - **Objects**: JSON stringified before adding to FormData
 *
 * @example
 * ```ts
 * // Basic usage
 * const formData = toFormData({
 *   name: "John",
 *   age: 30,
 *   active: true
 * });
 *
 * // With arrays
 * const formData = toFormData({
 *   tags: ["javascript", "typescript"],
 *   name: "John"
 * });
 *
 * // With files
 * const formData = toFormData({
 *   avatar: fileBlob,
 *   name: "John"
 * });
 *
 * // With nested objects (one level only)
 * const formData = toFormData({
 *   user: { name: "John", age: 30 },
 *   settings: { theme: "dark" }
 * });
 */
declare const toFormData: (data: NonNullable<CallApiRequestOptions["body"]>) => FormData;
//#endregion
//#region src/utils/external/define.d.ts
declare const defineSchema: <const TBaseSchemaRoutes extends BaseCallApiSchemaRoutes, const TSchemaConfig extends CallApiSchemaConfig>(routes: TBaseSchemaRoutes, config?: Satisfies<TSchemaConfig, CallApiSchemaConfig>) => {
  config: Writeable<Satisfies<TSchemaConfig, CallApiSchemaConfig>, "deep">;
  routes: Writeable<TBaseSchemaRoutes, "deep">;
};
declare const defineSchemaRoutes: <const TSchemaRoutes extends BaseCallApiSchemaRoutes>(routes: TSchemaRoutes) => Writeable<typeof routes, "deep">;
declare const defineMainSchema: <const TSchema extends CallApiSchema>(mainSchema: Satisfies<TSchema, CallApiSchema>) => Writeable<typeof mainSchema, "deep">;
declare const defineSchemaConfig: <const TSchemaConfig extends CallApiSchemaConfig>(config: Satisfies<TSchemaConfig, CallApiSchemaConfig>) => Writeable<typeof config, "deep">;
declare const definePlugin: <const TPlugin extends CallApiPlugin>(plugin: TPlugin) => Writeable<typeof plugin, "deep">;
type BaseConfigObject = Exclude<BaseCallApiConfig, AnyFunction>;
type BaseConfigFn = Extract<BaseCallApiConfig, AnyFunction>;
type DefineBaseConfig = {
  <const TBaseConfig extends BaseConfigObject>(baseConfig: Satisfies<TBaseConfig, BaseConfigObject>): Writeable<typeof baseConfig, "deep">;
  <TBaseConfigFn extends BaseConfigFn>(baseConfig: TBaseConfigFn): TBaseConfigFn;
};
declare const defineBaseConfig: DefineBaseConfig;
//#endregion
//#region src/utils/external/guards.d.ts
declare const isHTTPError: <TErrorData>(error: CallApiResultErrorVariant<TErrorData>["error"] | null) => error is PossibleHTTPError<TErrorData>;
declare const isHTTPErrorInstance: <TErrorData>(error: unknown) => error is HTTPError<TErrorData>;
declare const isValidationError: (error: CallApiResultErrorVariant<unknown>["error"] | null) => error is PossibleValidationError;
declare const isValidationErrorInstance: (error: unknown) => error is ValidationError;
declare const isJavascriptError: (error: CallApiResultErrorVariant<unknown>["error"] | null) => error is PossibleJavaScriptError;
//#endregion
export { HTTPError, ValidationError, defineBaseConfig, defineMainSchema, definePlugin, defineSchema, defineSchemaConfig, defineSchemaRoutes, isHTTPError, isHTTPErrorInstance, isJavascriptError, isValidationError, isValidationErrorInstance, toFormData, toQueryString };
//# sourceMappingURL=index.d.ts.map