import { ProductLogos, ProductType } from "../product/types"; import { Facet, PostingRequirement, PostingRequirementLabelsMap, PostingRequirementsAutocompleteRequestOption, StringifiedJSON } from "../common"; import { ContractDirectApplyPostingRequirementQuestionnaireLengthRule, ContractDirectApplyPostingRequirementQuestionnaireOccursRule, ContractDirectApplyPostingRequirementQuestionnaireQuestionCommonRule, ContractDirectApplyPostingRequirementQuestionnaireType, ContractDirectApplyPostingRequirementQuestionnaireValidationWarningCode } from "./enums"; export type ContractProduct = { product_id: string; title: string; }; export type ContractCredentialOption = { key: string; label: string; }; export type ContractCredential = { description?: string | null; label: string; name: string; sort: string; url: string | null; options: ContractCredentialOption[] | null; }; export type ContractPurchasePrice = { amount: number | null; currency: string | null; }; export type ContractCreateFormCredentials = Record; export type ContractCreateCredentialsValidation = "if_supported"; export type ContractCreateForm = { id?: number | string; credentials?: ContractCreateFormCredentials; facets?: any | null; expiry_date: string | null; alias: string | null; purchase_price: ContractPurchasePrice | null; credits: string | null; followed_instructions: boolean; posting_duration_days: number | null; allow_renegotiation: boolean; labels: Record | null; posting_requirements_defaults: Record | null; credentials_validation?: ContractCreateCredentialsValidation; }; export type ContractEditForm = Pick; export type ContractGroupCreateForm = { name: string; }; export type ContractGroupUpdateForm = { name: string; }; export type ContractChannel = ProductLogos & ProductType & { id: number; name: string; url: string; }; export type Contract = { labels: Record | null; channel?: ContractChannel; alias: string; channel_id: number; class_name: string; contract_id: string; credits: number | null; customer_id: string; expiry_date: string | null; product: ContractProduct; purchase_price: ContractPurchasePrice | null; posting_duration_days: number | null; group: ContractGroup | null; posting_requirements_defaults: Record | null; errors?: string[]; } & ContractDetails; export type ContractDetails = { contract_credentials: ContractCredential[]; contract_facets?: Facet[]; feed_url: string | null; manual_setup_required: boolean; posting_requirements: PostingRequirement[]; posting_requirements_labels: PostingRequirementLabelsMap; setup_instructions: string; }; export type ContractGroup = { id: string; idx: number; igb_customer_id: string; name: string; }; export type ContractGroupSelected = ContractGroup | "add-new" | null; export type ContractDirectApplyChannelPrefillVariablesMap = { id: number; applyMethodPostingRequirementName: string | null; applyMethodDirectApplyOptionKey: string | null; questionnairePostingRequirementName: string | null; }; export type ContractDirectApplyPostingRequirementQuestionnaireOpenQuestionType = ContractDirectApplyPostingRequirementQuestionnaireType.TEXT; export type ContractDirectApplyPostingRequirementQuestionnaireClosedQuestionType = ContractDirectApplyPostingRequirementQuestionnaireType.CHOICE | ContractDirectApplyPostingRequirementQuestionnaireType.MULTI_CHOICE; export type ContractDirectApplyPostingRequirementQuestionnaireQuestion = { [ContractDirectApplyPostingRequirementQuestionnaireLengthRule.MAX_LENGTH]?: number; [ContractDirectApplyPostingRequirementQuestionnaireLengthRule.MIN_LENGTH]?: number; [ContractDirectApplyPostingRequirementQuestionnaireQuestionCommonRule.MAX_QUESTIONS]?: number; [ContractDirectApplyPostingRequirementQuestionnaireQuestionCommonRule.HTML_ALLOWED]?: string; }; export type ContractDirectApplyPostingRequirementQuestionnaireClosedQuestionItem = { [ContractDirectApplyPostingRequirementQuestionnaireLengthRule.MAX_LENGTH]: number; [ContractDirectApplyPostingRequirementQuestionnaireLengthRule.MIN_LENGTH]: number; }; export type ContractDirectApplyPostingRequirementQuestionnaireClosedQuestionItems = { item: ContractDirectApplyPostingRequirementQuestionnaireClosedQuestionItem[]; [ContractDirectApplyPostingRequirementQuestionnaireOccursRule.MAX_OCCURS]: number; [ContractDirectApplyPostingRequirementQuestionnaireOccursRule.MIN_OCCURS]: number; }; export type ContractDirectApplyPostingRequirementQuestionnaireText = { limit?: number; formats?: string; min?: string; max?: string; question: ContractDirectApplyPostingRequirementQuestionnaireQuestion; }; export type ContractDirectApplyPostingRequirementQuestionnaireClosedQuestion = { items: ContractDirectApplyPostingRequirementQuestionnaireClosedQuestionItems; question: ContractDirectApplyPostingRequirementQuestionnaireQuestion; }; export type ContractDirectApplyPostingRequirementQuestionnaireSettings = { ordered: boolean; editable: boolean; maxQuestions: number; maxOpenQuestions?: number; maxClosedQuestions?: number; supportsRequired: boolean; supportsConditions: boolean; }; export type ContractDirectApplyPostingRequirementQuestionnaire = { types: ContractDirectApplyPostingRequirementQuestionnaireType[]; text?: ContractDirectApplyPostingRequirementQuestionnaireText; choice?: ContractDirectApplyPostingRequirementQuestionnaireClosedQuestion; "multi-choice"?: ContractDirectApplyPostingRequirementQuestionnaireClosedQuestion; questionnaire: ContractDirectApplyPostingRequirementQuestionnaireSettings; }; export type ContractDirectApplyPostingRequirementQuestionnaireClosedQuestionAnswer = { id: string; answer: string; }; export type ContractDirectApplyPostingRequirementQuestionnaireCommonQuestionBody = { id: string; question: string; is_required?: boolean; }; export type ContractDirectApplyPostingRequirementQuestionnaireOpenQuestionBody = { type: ContractDirectApplyPostingRequirementQuestionnaireOpenQuestionType; } & ContractDirectApplyPostingRequirementQuestionnaireCommonQuestionBody; export type ContractDirectApplyPostingRequirementQuestionnaireClosedQuestionBody = { type: ContractDirectApplyPostingRequirementQuestionnaireClosedQuestionType; answers: ContractDirectApplyPostingRequirementQuestionnaireClosedQuestionAnswer[]; } & ContractDirectApplyPostingRequirementQuestionnaireCommonQuestionBody; export type ContractDirectApplyPostingRequirementQuestionnaireQuestionBody = ContractDirectApplyPostingRequirementQuestionnaireOpenQuestionBody | ContractDirectApplyPostingRequirementQuestionnaireClosedQuestionBody; export type ContractDirectApplyPostingRequirementQuestionnaireRules = { types: ContractDirectApplyPostingRequirementQuestionnaireType[]; generalRules: ContractDirectApplyPostingRequirementQuestionnaireSettings | undefined; textRules: ContractDirectApplyPostingRequirementQuestionnaireText | undefined; choiceRules: ContractDirectApplyPostingRequirementQuestionnaireClosedQuestion | undefined; multiChoiceRules: ContractDirectApplyPostingRequirementQuestionnaireClosedQuestion | undefined; maxQuestionsRule: number | undefined; maxOpenQuestionsRule: number | undefined; maxClosedQuestionsRule: number | undefined; supportsRequiredRule: boolean | undefined; textQuestionMaxLengthRule: number | undefined; textQuestionMinLengthRule: number | undefined; choiceQuestionMaxLengthRule: number | undefined; choiceQuestionMinLengthRule: number | undefined; multiChoiceQuestionMaxLengthRule: number | undefined; multiChoiceQuestionMinLengthRule: number | undefined; getChoiceItemOccursRule: (type: ContractDirectApplyPostingRequirementQuestionnaireClosedQuestionType, rule: ContractDirectApplyPostingRequirementQuestionnaireOccursRule) => number | undefined; getQuestionLengthRule: (type: ContractDirectApplyPostingRequirementQuestionnaireType, rule: ContractDirectApplyPostingRequirementQuestionnaireLengthRule) => number | undefined; choiceItemMaxLengthRule: number | undefined; choiceItemMinLengthRule: number | undefined; multiChoiceItemMaxLengthRule: number | undefined; multiChoiceItemMinLengthRule: number | undefined; getChoiceOrMultiChoiceItemLengthRule: (type: ContractDirectApplyPostingRequirementQuestionnaireClosedQuestionType, rule: ContractDirectApplyPostingRequirementQuestionnaireLengthRule) => number | undefined; }; export type ContractDirectApplyPostingRequirementQuestionnaireQuestionValidationError = { code: ContractDirectApplyPostingRequirementQuestionnaireValidationWarningCode; message: string; data: Record; }; export type ContractDirectApplyPostingRequirementQuestionnaireQuestionIgnoreReason = { question: ContractDirectApplyPostingRequirementQuestionnaireQuestionBody; ignoreReasons: ContractDirectApplyPostingRequirementQuestionnaireQuestionValidationError[]; }; export type ContractDirectApplyPostingRequirementQuestionnaireQuestionAnswerIgnoreReason = { answer: ContractDirectApplyPostingRequirementQuestionnaireClosedQuestionAnswer; ignoreReasons: ContractDirectApplyPostingRequirementQuestionnaireQuestionValidationError[]; }; export type ContractPostingRequirementsOptionsPayload = [ string | number, string, PostingRequirementsAutocompleteRequestOption[] ]; export type ContractPostingRequirementsOptionsMapState = { isLoading: boolean; data: any | null; lastAccessedDate: string; }; export type ContractProductsSupportingContractsMap = Map, ContractPostingRequirementsOptionsMapState>; export type ContractFilterQueryParams = { filterChannelName: string; filterGroupId: string; }; export type ContractUserProvidedFilters = ContractFilterQueryParams; //# sourceMappingURL=types.d.ts.map