/**
 * SSH Node - Version 1
 * Discriminator: resource=command, operation=execute
 */


interface Credentials {
  sshPassword: CredentialReference;
  sshPrivateKey: CredentialReference;
}

/** Execute a command */
export type SshV1CommandExecuteParams = {
  resource: 'command';
  operation: 'execute';
  authentication?: 'password' | 'privateKey' | Expression<string>;
/**
 * The command to be executed on a remote device
 */
    command?: string | Expression<string> | PlaceholderValue;
/**
 * Working Directory
 * @default /
 */
    cwd?: string | Expression<string> | PlaceholderValue;
};

export type SshV1CommandExecuteOutput = {
  code?: number;
  signal?: null;
  stderr?: string;
  stdout?: string;
};

export type SshV1CommandExecuteNode = {
  type: 'n8n-nodes-base.ssh';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<SshV1CommandExecuteParams>;
  output?: Items<SshV1CommandExecuteOutput>;
};