/**
 * DebugHelper Node - Version 1
 * Causes problems intentionally and generates useful data for debugging
 */


export interface DebugHelperV1Params {
  category?: 'doNothing' | 'throwError' | 'oom' | 'randomData';
/**
 * Error Type
 * @displayOptions.show { category: ["throwError"] }
 * @default NodeApiError
 */
    throwErrorType?: 'NodeApiError' | 'NodeOperationError' | 'Error';
/**
 * The message to send as part of the error
 * @displayOptions.show { category: ["throwError"] }
 * @default Node has thrown an error
 */
    throwErrorMessage?: string | Expression<string> | PlaceholderValue;
/**
 * The approximate amount of memory to generate. Be generous...
 * @displayOptions.show { category: ["oom"] }
 * @default 10
 */
    memorySizeValue?: number | Expression<number>;
/**
 * Data Type
 * @displayOptions.show { category: ["randomData"] }
 * @default user
 */
    randomDataType?: 'address' | 'latLong' | 'creditCard' | 'email' | 'ipv4' | 'ipv6' | 'macAddress' | 'nanoid' | 'url' | 'user' | 'uuid' | 'semver';
/**
 * The alphabet to use for generating the nanoIds
 * @displayOptions.show { category: ["randomData"], randomDataType: ["nanoid"] }
 * @default 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
 */
    nanoidAlphabet?: string | Expression<string> | PlaceholderValue;
/**
 * The length of each nanoIds
 * @displayOptions.show { category: ["randomData"], randomDataType: ["nanoid"] }
 * @default 16
 */
    nanoidLength?: string | Expression<string> | PlaceholderValue;
/**
 * If set, seed to use for generating the data (same seed will generate the same data)
 * @displayOptions.show { category: ["randomData"] }
 */
    randomDataSeed?: string | Expression<string> | PlaceholderValue;
/**
 * The number of random data items to generate into an array
 * @displayOptions.show { category: ["randomData"] }
 * @default 10
 */
    randomDataCount?: number | Expression<number>;
/**
 * Whether to output a single array instead of multiple items
 * @displayOptions.show { category: ["randomData"] }
 * @default false
 */
    randomDataSingleArray?: boolean | Expression<boolean>;
}

interface DebugHelperV1NodeBase {
  type: 'n8n-nodes-base.debugHelper';
  version: 1;
}

export type DebugHelperV1ParamsNode = DebugHelperV1NodeBase & {
  config: NodeConfig<DebugHelperV1Params>;
};

export type DebugHelperV1Node = DebugHelperV1ParamsNode;