/**
 * X (Formerly Twitter) Node - Version 2
 * Discriminator: resource=tweet, operation=create
 */


interface Credentials {
  twitterOAuth2Api: CredentialReference;
}

/** Create, like, search, or delete a tweet */
export type TwitterV2TweetCreateParams = {
  resource: 'tweet';
  operation: 'create';
/**
 * The text of the status update. URLs must be encoded. Links wrapped with the t.co shortener will affect character count
 */
    text?: string | Expression<string> | PlaceholderValue;
/**
 * Options
 * @default {}
 */
    additionalFields?: {
    /** Location information for the tweet
     */
    location?: string | Expression<string> | PlaceholderValue;
    /** The attachment ID to associate with the message
     */
    attachments?: string | Expression<string> | PlaceholderValue;
    /** The tweet being quoted
     * @default {"mode":"id","value":""}
     */
    inQuoteToStatusId?: { __rl: true; mode: 'id' | 'url'; value: string; cachedResultName?: string };
    /** The tweet being replied to
     * @default {"mode":"id","value":""}
     */
    inReplyToStatusId?: { __rl: true; mode: 'id' | 'url'; value: string; cachedResultName?: string };
  };
};

export type TwitterV2TweetCreateOutput = {
  edit_history_tweet_ids?: Array<string>;
  id?: string;
  text?: string;
};

export type TwitterV2TweetCreateNode = {
  type: 'n8n-nodes-base.twitter';
  version: 2;
  credentials?: Credentials;
  config: NodeConfig<TwitterV2TweetCreateParams>;
  output?: Items<TwitterV2TweetCreateOutput>;
};