import * as z from "zod";
import { OpenEnum } from "../../types/enums.js";
import { QuestionMultipleChoiceAnswers, QuestionMultipleChoiceAnswers$Outbound } from "./questionmultiplechoiceanswers.js";
export declare enum Question2 {
    True = "true",
    False = "false"
}
export type QuestionRequired = boolean | Question2;
export type Question4 = {};
/**
 * The source value of the questions type.
 */
export type QuestionSourceValue = Question4 | string | number | boolean | Array<any>;
/**
 * The type of the questions.
 */
export declare enum QuestionValue {
    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 questions.
 */
export type QuestionValueOpen = OpenEnum<typeof QuestionValue>;
export type QuestionType = {
    /**
     * The source value of the questions type.
     */
    sourceValue?: Question4 | string | number | boolean | Array<any> | null | undefined;
    /**
     * The type of the questions.
     */
    value?: QuestionValueOpen | null | undefined;
};
export type Question = {
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    multipleChoiceAnswers?: Array<QuestionMultipleChoiceAnswers> | null | undefined;
    name?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    required?: boolean | Question2 | null | undefined;
    text?: string | null | undefined;
    type?: QuestionType | null | undefined;
};
/** @internal */
export declare const Question2$inboundSchema: z.ZodNativeEnum<typeof Question2>;
/** @internal */
export declare const Question2$outboundSchema: z.ZodNativeEnum<typeof Question2>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Question2$ {
    /** @deprecated use `Question2$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<typeof Question2>;
    /** @deprecated use `Question2$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<typeof Question2>;
}
/** @internal */
export declare const QuestionRequired$inboundSchema: z.ZodType<QuestionRequired, z.ZodTypeDef, unknown>;
/** @internal */
export type QuestionRequired$Outbound = boolean | string;
/** @internal */
export declare const QuestionRequired$outboundSchema: z.ZodType<QuestionRequired$Outbound, z.ZodTypeDef, QuestionRequired>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace QuestionRequired$ {
    /** @deprecated use `QuestionRequired$inboundSchema` instead. */
    const inboundSchema: z.ZodType<QuestionRequired, z.ZodTypeDef, unknown>;
    /** @deprecated use `QuestionRequired$outboundSchema` instead. */
    const outboundSchema: z.ZodType<QuestionRequired$Outbound, z.ZodTypeDef, QuestionRequired>;
    /** @deprecated use `QuestionRequired$Outbound` instead. */
    type Outbound = QuestionRequired$Outbound;
}
/** @internal */
export declare const Question4$inboundSchema: z.ZodType<Question4, z.ZodTypeDef, unknown>;
/** @internal */
export type Question4$Outbound = {};
/** @internal */
export declare const Question4$outboundSchema: z.ZodType<Question4$Outbound, z.ZodTypeDef, Question4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Question4$ {
    /** @deprecated use `Question4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Question4, z.ZodTypeDef, unknown>;
    /** @deprecated use `Question4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Question4$Outbound, z.ZodTypeDef, Question4>;
    /** @deprecated use `Question4$Outbound` instead. */
    type Outbound = Question4$Outbound;
}
/** @internal */
export declare const QuestionSourceValue$inboundSchema: z.ZodType<QuestionSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type QuestionSourceValue$Outbound = Question4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const QuestionSourceValue$outboundSchema: z.ZodType<QuestionSourceValue$Outbound, z.ZodTypeDef, QuestionSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace QuestionSourceValue$ {
    /** @deprecated use `QuestionSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<QuestionSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `QuestionSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<QuestionSourceValue$Outbound, z.ZodTypeDef, QuestionSourceValue>;
    /** @deprecated use `QuestionSourceValue$Outbound` instead. */
    type Outbound = QuestionSourceValue$Outbound;
}
/** @internal */
export declare const QuestionValue$inboundSchema: z.ZodType<QuestionValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const QuestionValue$outboundSchema: z.ZodType<QuestionValueOpen, z.ZodTypeDef, QuestionValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace QuestionValue$ {
    /** @deprecated use `QuestionValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<QuestionValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `QuestionValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<QuestionValueOpen, z.ZodTypeDef, QuestionValueOpen>;
}
/** @internal */
export declare const QuestionType$inboundSchema: z.ZodType<QuestionType, z.ZodTypeDef, unknown>;
/** @internal */
export type QuestionType$Outbound = {
    source_value?: Question4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const QuestionType$outboundSchema: z.ZodType<QuestionType$Outbound, z.ZodTypeDef, QuestionType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace QuestionType$ {
    /** @deprecated use `QuestionType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<QuestionType, z.ZodTypeDef, unknown>;
    /** @deprecated use `QuestionType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<QuestionType$Outbound, z.ZodTypeDef, QuestionType>;
    /** @deprecated use `QuestionType$Outbound` instead. */
    type Outbound = QuestionType$Outbound;
}
/** @internal */
export declare const Question$inboundSchema: z.ZodType<Question, z.ZodTypeDef, unknown>;
/** @internal */
export type Question$Outbound = {
    id?: string | null | undefined;
    multiple_choice_answers?: Array<QuestionMultipleChoiceAnswers$Outbound> | null | undefined;
    name?: string | null | undefined;
    remote_id?: string | null | undefined;
    required?: boolean | string | null | undefined;
    text?: string | null | undefined;
    type?: QuestionType$Outbound | null | undefined;
};
/** @internal */
export declare const Question$outboundSchema: z.ZodType<Question$Outbound, z.ZodTypeDef, Question>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Question$ {
    /** @deprecated use `Question$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Question, z.ZodTypeDef, unknown>;
    /** @deprecated use `Question$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Question$Outbound, z.ZodTypeDef, Question>;
    /** @deprecated use `Question$Outbound` instead. */
    type Outbound = Question$Outbound;
}
//# sourceMappingURL=question.d.ts.map