/**
 * S3 Node - Version 1
 * Discriminator: resource=folder, operation=create
 */


interface Credentials {
  s3: CredentialReference;
}

/** Create a bucket */
export type S3V1FolderCreateParams = {
  resource: 'folder';
  operation: 'create';
/**
 * Bucket Name
 */
    bucketName?: string | Expression<string> | PlaceholderValue;
/**
 * Folder Name
 */
    folderName?: string | Expression<string> | PlaceholderValue;
/**
 * Additional Fields
 * @default {}
 */
    additionalFields?: {
    /** Parent folder you want to create the folder in
     */
    parentFolderKey?: string | Expression<string> | PlaceholderValue;
    /** Whether the requester will pay for requests and data transfer. While Requester Pays is enabled, anonymous access to this bucket is disabled.
     * @default false
     */
    requesterPays?: boolean | Expression<boolean>;
    /** Amazon S3 storage classes
     * @default standard
     */
    storageClass?: 'deepArchive' | 'glacier' | 'intelligentTiering' | 'onezoneIA' | 'RecudedRedundancy' | 'standard' | 'standardIA' | Expression<string>;
  };
};

export type S3V1FolderCreateOutput = {
  success?: boolean;
};

export type S3V1FolderCreateNode = {
  type: 'n8n-nodes-base.s3';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<S3V1FolderCreateParams>;
  output?: Items<S3V1FolderCreateOutput>;
};