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


interface Credentials {
  vonageApi: CredentialReference;
}

export type VonageV1SmsSendParams = {
  resource: 'sms';
  operation: 'send';
/**
 * The name or number the message should be sent from
 */
    from?: string | Expression<string> | PlaceholderValue;
/**
 * The number that the message should be sent to. Numbers are specified in E.164 format.
 */
    to?: string | Expression<string> | PlaceholderValue;
/**
 * The body of the message being sent
 */
    message?: string | Expression<string> | PlaceholderValue;
/**
 * Additional Fields
 * @default {}
 */
    additionalFields?: {
    /** An optional string used to identify separate accounts using the SMS endpoint for billing purposes. To use this feature, please email support@nexmo.com.
     */
    'account-ref'?: string | Expression<string> | PlaceholderValue;
    /** The webhook endpoint the delivery receipt for this sms is sent to. This parameter overrides the webhook endpoint you set in Dashboard.
     */
    callback?: string | Expression<string> | PlaceholderValue;
    /** You can optionally include your own reference of up to 40 characters
     */
    'client-ref'?: string | Expression<string> | PlaceholderValue;
    /** The Data Coding Scheme value of the message
     */
    'message-class'?: 0 | 1 | 2 | 3 | Expression<number>;
    /** The value of the protocol identifier to use. Ensure that the value is aligned with udh.
     */
    'protocol-id'?: string | Expression<string> | PlaceholderValue;
    /** Whether to receive a Delivery Receipt
     * @default false
     */
    'status-report-req'?: boolean | Expression<boolean>;
    /** By default Nexmo attempt delivery for 72 hours
     * @default 4320
     */
    ttl?: number | Expression<number>;
  };
};

export type VonageV1SmsSendOutput = {
  'message-id'?: string;
  'message-price'?: string;
  network?: string;
  'remaining-balance'?: string;
  status?: string;
  to?: string;
};

export type VonageV1SmsSendNode = {
  type: 'n8n-nodes-base.vonage';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<VonageV1SmsSendParams>;
  output?: Items<VonageV1SmsSendOutput>;
};