/**
 * Dropbox Node - Version 1
 * Discriminator: resource=file, operation=copy
 */


interface Credentials {
  dropboxApi: CredentialReference;
  dropboxOAuth2Api: CredentialReference;
}

/** Copy a file */
export type DropboxV1FileCopyParams = {
  resource: 'file';
  operation: 'copy';
/**
 * Means of authenticating with the service
 * @default accessToken
 */
    authentication?: 'accessToken' | 'oAuth2' | Expression<string>;
/**
 * The path of file or folder to copy
 */
    path?: string | Expression<string> | PlaceholderValue;
/**
 * The destination path of file or folder
 */
    toPath?: string | Expression<string> | PlaceholderValue;
};

export type DropboxV1FileCopyOutput = {
  metadata?: {
    '.tag'?: string;
    client_modified?: string;
    content_hash?: string;
    id?: string;
    is_downloadable?: boolean;
    name?: string;
    parent_shared_folder_id?: string;
    path_display?: string;
    path_lower?: string;
    rev?: string;
    server_modified?: string;
    sharing_info?: {
      modified_by?: string;
      parent_shared_folder_id?: string;
      read_only?: boolean;
    };
    size?: number;
  };
};

export type DropboxV1FileCopyNode = {
  type: 'n8n-nodes-base.dropbox';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<DropboxV1FileCopyParams>;
  output?: Items<DropboxV1FileCopyOutput>;
};