import * as z from "zod";
import { OpenEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type CustomFieldDefinition4 = {};
export type Options = CustomFieldDefinition4 | string | number | boolean | Array<any>;
export type CustomFieldDefinitionSchemas4 = {};
export type CustomFieldDefinitionSourceValue = CustomFieldDefinitionSchemas4 | string | number | boolean | Array<any>;
export declare enum CustomFieldDefinitionValue {
    Date = "date",
    Float = "float",
    Integer = "integer",
    List = "list",
    Checkbox = "checkbox",
    Text = "text",
    Boolean = "boolean",
    SingleSelect = "single_select",
    MultiSelect = "multi_select",
    Url = "url",
    Other = "other",
    UnmappedValue = "unmapped_value"
}
export type CustomFieldDefinitionValueOpen = OpenEnum<typeof CustomFieldDefinitionValue>;
/**
 * The type of the custom field.
 */
export type CustomFieldDefinitionType = {
    sourceValue?: CustomFieldDefinitionSchemas4 | string | number | boolean | Array<any> | null | undefined;
    value?: CustomFieldDefinitionValueOpen | null | undefined;
};
export type CustomFieldDefinition = {
    description?: string | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    name?: string | null | undefined;
    /**
     * An array of possible options for the custom field.
     */
    options?: Array<CustomFieldDefinition4 | string | number | boolean | Array<any>> | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * The type of the custom field.
     */
    type?: CustomFieldDefinitionType | null | undefined;
};
/** @internal */
export declare const CustomFieldDefinition4$inboundSchema: z.ZodType<CustomFieldDefinition4, z.ZodTypeDef, unknown>;
/** @internal */
export type CustomFieldDefinition4$Outbound = {};
/** @internal */
export declare const CustomFieldDefinition4$outboundSchema: z.ZodType<CustomFieldDefinition4$Outbound, z.ZodTypeDef, CustomFieldDefinition4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CustomFieldDefinition4$ {
    /** @deprecated use `CustomFieldDefinition4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CustomFieldDefinition4, z.ZodTypeDef, unknown>;
    /** @deprecated use `CustomFieldDefinition4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CustomFieldDefinition4$Outbound, z.ZodTypeDef, CustomFieldDefinition4>;
    /** @deprecated use `CustomFieldDefinition4$Outbound` instead. */
    type Outbound = CustomFieldDefinition4$Outbound;
}
export declare function customFieldDefinition4ToJSON(customFieldDefinition4: CustomFieldDefinition4): string;
export declare function customFieldDefinition4FromJSON(jsonString: string): SafeParseResult<CustomFieldDefinition4, SDKValidationError>;
/** @internal */
export declare const Options$inboundSchema: z.ZodType<Options, z.ZodTypeDef, unknown>;
/** @internal */
export type Options$Outbound = CustomFieldDefinition4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const Options$outboundSchema: z.ZodType<Options$Outbound, z.ZodTypeDef, Options>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Options$ {
    /** @deprecated use `Options$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Options, z.ZodTypeDef, unknown>;
    /** @deprecated use `Options$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Options$Outbound, z.ZodTypeDef, Options>;
    /** @deprecated use `Options$Outbound` instead. */
    type Outbound = Options$Outbound;
}
export declare function optionsToJSON(options: Options): string;
export declare function optionsFromJSON(jsonString: string): SafeParseResult<Options, SDKValidationError>;
/** @internal */
export declare const CustomFieldDefinitionSchemas4$inboundSchema: z.ZodType<CustomFieldDefinitionSchemas4, z.ZodTypeDef, unknown>;
/** @internal */
export type CustomFieldDefinitionSchemas4$Outbound = {};
/** @internal */
export declare const CustomFieldDefinitionSchemas4$outboundSchema: z.ZodType<CustomFieldDefinitionSchemas4$Outbound, z.ZodTypeDef, CustomFieldDefinitionSchemas4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CustomFieldDefinitionSchemas4$ {
    /** @deprecated use `CustomFieldDefinitionSchemas4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CustomFieldDefinitionSchemas4, z.ZodTypeDef, unknown>;
    /** @deprecated use `CustomFieldDefinitionSchemas4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CustomFieldDefinitionSchemas4$Outbound, z.ZodTypeDef, CustomFieldDefinitionSchemas4>;
    /** @deprecated use `CustomFieldDefinitionSchemas4$Outbound` instead. */
    type Outbound = CustomFieldDefinitionSchemas4$Outbound;
}
export declare function customFieldDefinitionSchemas4ToJSON(customFieldDefinitionSchemas4: CustomFieldDefinitionSchemas4): string;
export declare function customFieldDefinitionSchemas4FromJSON(jsonString: string): SafeParseResult<CustomFieldDefinitionSchemas4, SDKValidationError>;
/** @internal */
export declare const CustomFieldDefinitionSourceValue$inboundSchema: z.ZodType<CustomFieldDefinitionSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type CustomFieldDefinitionSourceValue$Outbound = CustomFieldDefinitionSchemas4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const CustomFieldDefinitionSourceValue$outboundSchema: z.ZodType<CustomFieldDefinitionSourceValue$Outbound, z.ZodTypeDef, CustomFieldDefinitionSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CustomFieldDefinitionSourceValue$ {
    /** @deprecated use `CustomFieldDefinitionSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CustomFieldDefinitionSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `CustomFieldDefinitionSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CustomFieldDefinitionSourceValue$Outbound, z.ZodTypeDef, CustomFieldDefinitionSourceValue>;
    /** @deprecated use `CustomFieldDefinitionSourceValue$Outbound` instead. */
    type Outbound = CustomFieldDefinitionSourceValue$Outbound;
}
export declare function customFieldDefinitionSourceValueToJSON(customFieldDefinitionSourceValue: CustomFieldDefinitionSourceValue): string;
export declare function customFieldDefinitionSourceValueFromJSON(jsonString: string): SafeParseResult<CustomFieldDefinitionSourceValue, SDKValidationError>;
/** @internal */
export declare const CustomFieldDefinitionValue$inboundSchema: z.ZodType<CustomFieldDefinitionValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const CustomFieldDefinitionValue$outboundSchema: z.ZodType<CustomFieldDefinitionValueOpen, z.ZodTypeDef, CustomFieldDefinitionValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CustomFieldDefinitionValue$ {
    /** @deprecated use `CustomFieldDefinitionValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CustomFieldDefinitionValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `CustomFieldDefinitionValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CustomFieldDefinitionValueOpen, z.ZodTypeDef, CustomFieldDefinitionValueOpen>;
}
/** @internal */
export declare const CustomFieldDefinitionType$inboundSchema: z.ZodType<CustomFieldDefinitionType, z.ZodTypeDef, unknown>;
/** @internal */
export type CustomFieldDefinitionType$Outbound = {
    source_value?: CustomFieldDefinitionSchemas4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const CustomFieldDefinitionType$outboundSchema: z.ZodType<CustomFieldDefinitionType$Outbound, z.ZodTypeDef, CustomFieldDefinitionType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CustomFieldDefinitionType$ {
    /** @deprecated use `CustomFieldDefinitionType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CustomFieldDefinitionType, z.ZodTypeDef, unknown>;
    /** @deprecated use `CustomFieldDefinitionType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CustomFieldDefinitionType$Outbound, z.ZodTypeDef, CustomFieldDefinitionType>;
    /** @deprecated use `CustomFieldDefinitionType$Outbound` instead. */
    type Outbound = CustomFieldDefinitionType$Outbound;
}
export declare function customFieldDefinitionTypeToJSON(customFieldDefinitionType: CustomFieldDefinitionType): string;
export declare function customFieldDefinitionTypeFromJSON(jsonString: string): SafeParseResult<CustomFieldDefinitionType, SDKValidationError>;
/** @internal */
export declare const CustomFieldDefinition$inboundSchema: z.ZodType<CustomFieldDefinition, z.ZodTypeDef, unknown>;
/** @internal */
export type CustomFieldDefinition$Outbound = {
    description?: string | null | undefined;
    id?: string | null | undefined;
    name?: string | null | undefined;
    options?: Array<CustomFieldDefinition4$Outbound | string | number | boolean | Array<any>> | null | undefined;
    remote_id?: string | null | undefined;
    type?: CustomFieldDefinitionType$Outbound | null | undefined;
};
/** @internal */
export declare const CustomFieldDefinition$outboundSchema: z.ZodType<CustomFieldDefinition$Outbound, z.ZodTypeDef, CustomFieldDefinition>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CustomFieldDefinition$ {
    /** @deprecated use `CustomFieldDefinition$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CustomFieldDefinition, z.ZodTypeDef, unknown>;
    /** @deprecated use `CustomFieldDefinition$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CustomFieldDefinition$Outbound, z.ZodTypeDef, CustomFieldDefinition>;
    /** @deprecated use `CustomFieldDefinition$Outbound` instead. */
    type Outbound = CustomFieldDefinition$Outbound;
}
export declare function customFieldDefinitionToJSON(customFieldDefinition: CustomFieldDefinition): string;
export declare function customFieldDefinitionFromJSON(jsonString: string): SafeParseResult<CustomFieldDefinition, SDKValidationError>;
//# sourceMappingURL=customfielddefinition.d.ts.map