/**
 * MessageBird Node - Version 1
 * Discriminator: resource=sms, operation=send
 */


interface Credentials {
  messageBirdApi: CredentialReference;
}

/** Send text messages (SMS) */
export type MessageBirdV1SmsSendParams = {
  resource: 'sms';
  operation: 'send';
/**
 * The number from which to send the message
 */
    originator?: string | Expression<string> | PlaceholderValue;
/**
 * All recipients separated by commas
 */
    recipients?: string | Expression<string> | PlaceholderValue;
/**
 * The message to be send
 */
    message?: string | Expression<string> | PlaceholderValue;
/**
 * Additional Fields
 * @default {}
 */
    additionalFields?: {
    /** The date and time of the creation of the message in RFC3339 format (Y-m-dTH:i:sP)
     */
    createdDatetime?: string | Expression<string>;
    /** Using unicode will limit the maximum number of characters to 70 instead of 160
     */
    datacoding?: 'auto' | 'plain' | 'unicode' | Expression<string>;
    /** The SMS route that is used to send the message
     */
    gateway?: number | Expression<number>;
    /** Group IDs separated by commas, If provided recipients can be omitted
     */
    groupIds?: string | Expression<string> | PlaceholderValue;
    /** Indicated the message type. 1 is a normal message, 0 is a flash message.
     * @default 1
     */
    mclass?: 1 | 0 | Expression<number>;
    /** A client reference
     */
    reference?: string | Expression<string> | PlaceholderValue;
    /** The status report URL to be used on a per-message basis. Reference is required for a status report webhook to be sent.
     */
    reportUrl?: string | Expression<string> | PlaceholderValue;
    /** The scheduled date and time of the message in RFC3339 format (Y-m-dTH:i:sP)
     */
    scheduledDatetime?: string | Expression<string>;
    /** The type of message. Values can be: sms, binary, or flash.
     */
    type?: 'binary' | 'flash' | 'sms' | Expression<string>;
    /** A hash with extra information. Is only used when a binary message is sent.
     */
    typeDetails?: string | Expression<string> | PlaceholderValue;
    /** The amount of seconds that the message is valid
     * @default 1
     */
    validity?: number | Expression<number>;
  };
};

export type MessageBirdV1SmsSendNode = {
  type: 'n8n-nodes-base.messageBird';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<MessageBirdV1SmsSendParams>;
};