/**
 * SSH Node - Version 1
 * Discriminator: resource=file, operation=download
 */


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

/** Download a file */
export type SshV1FileDownloadParams = {
  resource: 'file';
  operation: 'download';
  authentication?: 'password' | 'privateKey' | Expression<string>;
/**
 * The file path of the file to download. Has to contain the full path including file name.
 */
    path?: string | Expression<string> | PlaceholderValue;
/**
 * Object property name which holds binary data
 * @default data
 */
    binaryPropertyName?: string | Expression<string> | PlaceholderValue;
/**
 * Options
 * @default {}
 */
    options?: {
    /** Overrides the binary data file name
     */
    fileName?: string | Expression<string> | PlaceholderValue;
  };
};

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

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