/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/core/processing/qgsprocessingparameteralignrasterlayers.h        *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/



class QgsProcessingParameterAlignRasterLayers : QgsProcessingParameterDefinition
{
%Docstring(signature="appended")
A parameter for Processing algorithms specifying how rasters should be
aligned.

A parameter for Processing algorithms that need a list of input raster
layers to align - this parameter provides Processing framework's adapter
for QList<:py:class:`QgsAlignRaster`.Item>.

A valid value for this parameter is a list (QVariantList), where each
item is a map (QVariantMap) in this form:

.. code-block:: python

     {
       'inputFile':  string,
       'outputFile': string,
       'resampleMethod': int,
       'rescale': bool,
     }

Also it can accept lists (either string lists or :py:class:`QgsMapLayer`
list) as well as individual layer object or string representing layer
source.

Static functions :py:func:`~parametersAsItems`,
:py:func:`~variantMapAsItem`, :py:func:`~itemAsVariantMap` provide
conversion between :py:class:`QgsAlignRaster`.Item representation and
QVariant representation.

.. versionadded:: 3.34
%End

%TypeHeaderCode
#include "qgsprocessingparameteralignrasterlayers.h"
%End
  public:
    QgsProcessingParameterAlignRasterLayers( const QString &name, const QString &description = QString() );
%Docstring
Constructor for QgsProcessingParameterAlignRasterLayers.
%End

    virtual QgsProcessingParameterDefinition *clone() const /Factory/;

    virtual QString type() const;

    virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = 0 ) const;

    virtual QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const;

    virtual QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const;

    virtual QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok /Out/ ) const;

    virtual QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const;


    static QString typeName();
%Docstring
Returns the type name for the parameter class.
%End
    static QList<QgsAlignRasterData::RasterItem> parameterAsItems( const QVariant &layersVariant, QgsProcessingContext &context );
%Docstring
Converts a QVariant value (a QVariantList) to a list of input layers
%End
    static QgsAlignRasterData::RasterItem variantMapAsItem( const QVariantMap &layerVariantMap, QgsProcessingContext &context );
%Docstring
Converts a QVariant value (a QVariantMap) to a single input layer
%End
    static QVariantMap itemAsVariantMap( const QgsAlignRasterData::RasterItem &item );
%Docstring
Converts a single input layer to QVariant representation (a QVariantMap)
%End
};


/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/core/processing/qgsprocessingparameteralignrasterlayers.h        *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/
