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 Answer4 = {};
/**
 * The source value of the answer type.
 */
export type AnswerSourceValue = Answer4 | string | number | boolean | Array<any>;
/**
 * The type of the answer.
 */
export declare enum AnswerValue {
    ShortText = "short_text",
    LongText = "long_text",
    Attachment = "attachment",
    MultiSelect = "multi_select",
    SingleSelect = "single_select",
    Boolean = "boolean",
    Number = "number",
    Date = "date",
    Video = "video"
}
/**
 * The type of the answer.
 */
export type AnswerValueOpen = OpenEnum<typeof AnswerValue>;
/**
 * Type of the answer
 */
export type Type = {
    /**
     * The source value of the answer type.
     */
    sourceValue?: Answer4 | string | number | boolean | Array<any> | null | undefined;
    /**
     * The type of the answer.
     */
    value?: AnswerValueOpen | null | undefined;
};
export type Answer = {
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * Type of the answer
     */
    type?: Type | null | undefined;
    /**
     * Values of the answer
     */
    values?: Array<string> | null | undefined;
};
/** @internal */
export declare const Answer4$inboundSchema: z.ZodType<Answer4, z.ZodTypeDef, unknown>;
/** @internal */
export type Answer4$Outbound = {};
/** @internal */
export declare const Answer4$outboundSchema: z.ZodType<Answer4$Outbound, z.ZodTypeDef, Answer4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Answer4$ {
    /** @deprecated use `Answer4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Answer4, z.ZodTypeDef, unknown>;
    /** @deprecated use `Answer4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Answer4$Outbound, z.ZodTypeDef, Answer4>;
    /** @deprecated use `Answer4$Outbound` instead. */
    type Outbound = Answer4$Outbound;
}
export declare function answer4ToJSON(answer4: Answer4): string;
export declare function answer4FromJSON(jsonString: string): SafeParseResult<Answer4, SDKValidationError>;
/** @internal */
export declare const AnswerSourceValue$inboundSchema: z.ZodType<AnswerSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type AnswerSourceValue$Outbound = Answer4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const AnswerSourceValue$outboundSchema: z.ZodType<AnswerSourceValue$Outbound, z.ZodTypeDef, AnswerSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AnswerSourceValue$ {
    /** @deprecated use `AnswerSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AnswerSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `AnswerSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AnswerSourceValue$Outbound, z.ZodTypeDef, AnswerSourceValue>;
    /** @deprecated use `AnswerSourceValue$Outbound` instead. */
    type Outbound = AnswerSourceValue$Outbound;
}
export declare function answerSourceValueToJSON(answerSourceValue: AnswerSourceValue): string;
export declare function answerSourceValueFromJSON(jsonString: string): SafeParseResult<AnswerSourceValue, SDKValidationError>;
/** @internal */
export declare const AnswerValue$inboundSchema: z.ZodType<AnswerValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const AnswerValue$outboundSchema: z.ZodType<AnswerValueOpen, z.ZodTypeDef, AnswerValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AnswerValue$ {
    /** @deprecated use `AnswerValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AnswerValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `AnswerValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AnswerValueOpen, z.ZodTypeDef, AnswerValueOpen>;
}
/** @internal */
export declare const Type$inboundSchema: z.ZodType<Type, z.ZodTypeDef, unknown>;
/** @internal */
export type Type$Outbound = {
    source_value?: Answer4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const Type$outboundSchema: z.ZodType<Type$Outbound, z.ZodTypeDef, Type>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Type$ {
    /** @deprecated use `Type$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Type, z.ZodTypeDef, unknown>;
    /** @deprecated use `Type$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Type$Outbound, z.ZodTypeDef, Type>;
    /** @deprecated use `Type$Outbound` instead. */
    type Outbound = Type$Outbound;
}
export declare function typeToJSON(type: Type): string;
export declare function typeFromJSON(jsonString: string): SafeParseResult<Type, SDKValidationError>;
/** @internal */
export declare const Answer$inboundSchema: z.ZodType<Answer, z.ZodTypeDef, unknown>;
/** @internal */
export type Answer$Outbound = {
    id?: string | null | undefined;
    remote_id?: string | null | undefined;
    type?: Type$Outbound | null | undefined;
    values?: Array<string> | null | undefined;
};
/** @internal */
export declare const Answer$outboundSchema: z.ZodType<Answer$Outbound, z.ZodTypeDef, Answer>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Answer$ {
    /** @deprecated use `Answer$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Answer, z.ZodTypeDef, unknown>;
    /** @deprecated use `Answer$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Answer$Outbound, z.ZodTypeDef, Answer>;
    /** @deprecated use `Answer$Outbound` instead. */
    type Outbound = Answer$Outbound;
}
export declare function answerToJSON(answer: Answer): string;
export declare function answerFromJSON(jsonString: string): SafeParseResult<Answer, SDKValidationError>;
//# sourceMappingURL=answer.d.ts.map