"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createStrategyVariantSchema = void 0;
exports.createStrategyVariantSchema = {
    $id: '#/components/schemas/createStrategyVariantSchema',
    type: 'object',
    description: "This is an experimental property. It may change or be removed as we work on it. Please don't depend on it yet. A strategy variant allows you to attach any data to strategies instead of only returning `true`/`false`. Strategy variants take precedence over feature variants.",
    required: ['name', 'weight', 'weightType', 'stickiness'],
    properties: {
        name: {
            type: 'string',
            description: 'The variant name. Must be unique for this feature toggle',
            example: 'blue_group',
        },
        weight: {
            type: 'integer',
            description: 'The weight is the likelihood of any one user getting this variant. It is an integer between 0 and 1000. See the section on [variant weights](https://docs.getunleash.io/reference/feature-toggle-variants#variant-weight) for more information',
            minimum: 0,
            maximum: 1000,
        },
        weightType: {
            description: 'Set to `fix` if this variant must have exactly the weight allocated to it. If the type is `variable`, the weight will adjust so that the total weight of all variants adds up to 1000. Refer to the [variant weight documentation](https://docs.getunleash.io/reference/feature-toggle-variants#variant-weight).',
            type: 'string',
            example: 'fix',
            enum: ['variable', 'fix'],
        },
        stickiness: {
            type: 'string',
            description: 'The [stickiness](https://docs.getunleash.io/reference/feature-toggle-variants#variant-stickiness) to use for distribution of this variant. Stickiness is how Unleash guarantees that the same user gets the same variant every time',
            example: 'custom.context.field',
        },
        payload: {
            type: 'object',
            required: ['type', 'value'],
            description: 'Extra data configured for this variant',
            properties: {
                type: {
                    description: 'The type of the value. Commonly used types are string, number, json and csv.',
                    type: 'string',
                    enum: ['json', 'csv', 'string', 'number'],
                },
                value: {
                    description: 'The actual value of payload',
                    type: 'string',
                },
            },
            example: { type: 'json', value: '{"color": "red"}' },
        },
    },
    components: {},
};
//# sourceMappingURL=create-strategy-variant-schema.js.map