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


interface Credentials {
  sms77Api: CredentialReference;
}

/** Send SMS */
export type Sms77V1SmsSendParams = {
  resource: 'sms';
  operation: 'send';
/**
 * The caller ID displayed in the receivers display. Max 16 numeric or 11 alphanumeric characters.
 */
    from?: string | Expression<string> | PlaceholderValue;
/**
 * The number of your recipient(s) separated by comma. Can be regular numbers or contact/groups from seven.
 */
    to?: string | Expression<string> | PlaceholderValue;
/**
 * The message to send. Max. 1520 characters
 */
    message?: string | Expression<string> | PlaceholderValue;
/**
 * Options
 * @default {}
 */
    options?: {
    /** Pick a date for time delayed dispatch
     */
    delay?: string | Expression<string>;
    /** Custom foreign ID returned in DLR callbacks
     */
    foreign_id?: string | Expression<string> | PlaceholderValue;
    /** Send as flash message being displayed directly the receiver's display
     * @default false
     */
    flash?: boolean | Expression<boolean>;
    /** Custom label used to group analytics
     */
    label?: string | Expression<string> | PlaceholderValue;
    /** Whether to enable performance tracking for URLs found in the message text
     * @default false
     */
    performance_tracking?: boolean | Expression<boolean>;
    /** Custom time to live specifying the validity period of a message in minutes
     * @default 2880
     */
    ttl?: number | Expression<number>;
  };
};

export type Sms77V1SmsSendOutput = {
  debug?: string;
  messages?: Array<{
    parts?: number;
    sender?: string;
    success?: boolean;
    udh?: null;
  }>;
  sms_type?: string;
  success?: string;
};

export type Sms77V1SmsSendNode = {
  type: 'n8n-nodes-base.sms77';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<Sms77V1SmsSendParams>;
  output?: Items<Sms77V1SmsSendOutput>;
};