"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.event_name = exports.batch_size = exports.enable_batching = exports.data = exports.lookup_field = exports.field_value = exports.external_id = void 0;
exports.external_id = {
    label: 'External ID',
    description: 'The ID of the Static List that users will be synced to.',
    type: 'string',
    default: {
        '@path': '$.context.personas.external_audience_id'
    },
    unsafe_hidden: true
};
exports.field_value = {
    label: 'Field Value',
    description: 'The value cooresponding to the lookup field.',
    type: 'string',
    default: {
        '@if': {
            exists: { '@path': '$.context.traits.email' },
            then: { '@path': '$.context.traits.email' },
            else: { '@path': '$.properties.email' }
        }
    },
    required: true
};
exports.lookup_field = {
    label: 'Lookup Field',
    description: `The lead field to use for deduplication and filtering. This field must be apart of the Lead Info Fields below.`,
    type: 'string',
    choices: [
        { label: 'Email', value: 'email' },
        { label: 'Id', value: 'id' },
        { label: 'Cookies', value: 'cookies' },
        { label: 'Twitter ID', value: 'twitterId' },
        { label: 'Facebook ID', value: 'facebookId' },
        { label: 'LinkedIn ID', value: 'linkedinId' },
        { label: 'Salesforce Account ID', value: 'sfdcAccountId' },
        { label: 'Salesforce Contact ID', value: 'sfdcContactId' },
        { label: 'Salesforce Lead ID', value: 'sfdcLeadId' },
        { label: 'Salesforce Opportunity ID', value: 'sfdcOpptyId' }
    ],
    default: 'email',
    required: true
};
exports.data = {
    label: 'Lead Info Fields',
    description: 'The fields that contain data about the lead, such as Email, Last Name, etc. On the left-hand side, input the field name exactly how it appears in Marketo. On the right-hand side, map the Segment field that contains the corresponding value.',
    type: 'object',
    required: true,
    properties: {
        email: {
            label: 'Email',
            description: `The user's email address to send to Marketo.`,
            type: 'string'
        }
    },
    default: {
        email: {
            '@if': {
                exists: { '@path': '$.context.traits.email' },
                then: { '@path': '$.context.traits.email' },
                else: { '@path': '$.properties.email' }
            }
        }
    },
    additionalProperties: true
};
exports.enable_batching = {
    label: 'Enable Batching',
    description: 'Enable batching of requests.',
    type: 'boolean',
    default: true,
    unsafe_hidden: true,
    required: true
};
exports.batch_size = {
    label: 'Batch Size',
    description: 'Maximum number of events to include in each batch. Actual batch sizes may be lower.',
    type: 'number',
    default: 300000,
    minimum: 1,
    maximum: 300000,
    unsafe_hidden: false,
    required: true
};
exports.event_name = {
    label: 'Event Name',
    description: 'The name of the current Segment event.',
    type: 'string',
    default: {
        '@path': '$.event'
    },
    readOnly: true,
    required: true
};
//# sourceMappingURL=properties.js.map