declare class DzMaterial extends DzElement {

    /* Properties */

    /* Methods */
    addedTo(shape: DzShape): void;
    allowsAutoBake(): boolean;
    assetModified(): void;
    assetWasSaved(): void;
    bakedMapChanged(): void;
    connectForAutoBake(): void;
    createProperties(copyFrom: DzMaterial): void;
    enablePropagateRenderPriorityToNodes(propagate: boolean): void;
    followMaterialChanged(): void;
    getActiveUVSet(shape: DzShape): DzUVSet;
    getActiveUVSet(geom: DzGeometry): DzUVSet;
    getAllMaps(): QObject[];
    getAssetType(): any;
    getBakedMap(): DzTexture;
    getBaseOpacity(): number;
    getBoundingBox(): DzBox3;
    getColorMap(): DzTexture;
    getDiffuseColor(): QColor;
    getFollowBlendControl(): DzFloatProperty;
    getFollowMaterial(): DzMaterial;
    getIndex(): number;
    getMaterial(which: number): DzMaterial;
    getMaterialName(): QString;
    getNumGLMaps(): number;
    getNumMaterials(): number;
    getNumUVMaps(): number;
    getOpacityMap(): DzTexture;
    getPropagatePriorityControl(): DzBoolProperty;
    getRenderPriority(): number;
    getRenderPriorityControl(): DzEnumProperty;
    getShapeList(): QObject[];
    getSmoothAngleControl(): DzFloatProperty;
    getSmoothControl(): DzBoolProperty;
    getSmoothingAngle(): number;
    getUVSetControl(): DzEnumProperty;
    init(doCreateProperties: boolean, copyFrom: DzMaterial): void;
    isColorMappable(): boolean;
    isHighlighted(): boolean;
    isOpacityMappable(): boolean;
    isPropagateRenderPriorityToNodesEnabled(): boolean;
    isRenderingAsCoShader(): boolean;
    isSelected(): boolean;
    isSmoothingOn(): boolean;
    multiTexturingSupported(): boolean;
    needsTangentSpaceParams(): boolean;
    propagateRenderPriorityToNodes(): void;
    removedFrom(shape: DzShape): void;
    requestAutoBake(): void;
    resetBakedMap(): void;
    select(onOff: boolean): void;
    selectionStateChanged(mat: DzMaterial, onOff: boolean): void;
    setBakedMap(img: DzTexture): void;
    setBaseOpacity(val: number): void;
    setCoShader(settings: DzRenderSettings, info: DzCoShaderInfo): void;
    setColorMap(img: DzTexture): void;
    setDiffuseColor(color: QColor): void;
    setFollowMaterial(mat: DzMaterial): void;
    setGL(style: DzDrawStyle): void;
    setGLBakeMat(style: DzDrawStyle): void;
    setGLHighlight(style: DzDrawStyle): void;
    setGLMat(style: DzDrawStyle): void;
    setOpacityMap(img: DzTexture): void;
    setRender(settings: DzRenderSettings): void;
    setRenderPriority(priority: number): void;
    setRenderPriority(priority: number): void;
    setRenderPriority(priority: number): void;
    setRenderPriority(priority: number): void;
    setShader(settings: DzRenderSettings): void;
    setSmoothingAngle(angle: number): void;
    setSmoothingOn(onOff: boolean): void;
    setTextureConvertShader(settings: DzRenderSettings): void;
    setTextureConvertTokens(settings: DzRenderSettings): number;
    settingsChanged(): void;
    shadersMatch(otherMat: DzMaterial): boolean;
    shapeListIterator(): DzShapeListIterator;
    shouldAlwaysEmbed(): boolean;
    smoothingChanged(): void;
    startDrawHighlight(): void;
    stopDrawHighlight(): void;
    toQObject(): QObject;
    toQObject(): any;
    toQObject(): QObject;
    toQObject(): any;
    triggerAutoBake(): void;
    unsetGL(style: DzDrawStyle): void;
    unsetGLBakeMat(style: DzDrawStyle): void;
    unsetGLHighlight(style: DzDrawStyle): void;
    unsetGLMat(style: DzDrawStyle): void;
    unsetRender(settings: DzRenderSettings): void;
    updateUVList(): void;
    uvsChanged(): void;
    getShouldRenderAsCurve(): boolean;
    setRenderAsCurve(onOff: boolean): void;
    currentValueInAnimation(): boolean;
    getMaterialIncludeProperties(): DzProperty[];
    setWriteAnimation(onOff: boolean): void;
    setWriteInstances(onOff: boolean): void;
    writeAnimations(prop: DzProperty, io: any, foundAnimation: boolean): boolean;
    writeAnimations(io: any): boolean;
    writeAnimations(prop: DzProperty, io: any, foundAnimation: boolean): boolean;
    writeAnimations(io: any): boolean;
    writeMaterialInstances(io: any): boolean;
    writeUVSetAnimation(mat: DzMaterial, io: any, propRef: QString): boolean;
    activate(): void;
    aimCamera(view: Dz3DViewport): void;
    clearHighlighting(): void;
    contextMenu(view: Dz3DViewport, menu: DzMenu, pos: QPoint): void;
    deactivate(): void;
    draw(style: DzDrawStyle, view: Dz3DViewport): void;
    drawMaterial(mat: DzMaterial): void;
    drawSelectedMaterials(): void;
    frameCamera(view: Dz3DViewport): void;
    getPane(parent: QWidget): QWidget;
    getPropertyFromUser(imageOnly: boolean, mat: DzMaterial): DzProperty;
    getSelectionBoundingBox(box: DzBox3): void;
    getSurfacePane(): DzSurfacesPane;
    menuSelection(id: number): void;
    mouseLeave(view: Dz3DViewport, e: QEvent): void;
    mouseOver(view: Dz3DViewport, e: QMouseEvent, accel: number): void;
    mousePress(view: Dz3DViewport, e: QMouseEvent, accel: number): boolean;
    rebuildSelectedMats(): void;
    selectAllMaterials(match: DzMaterial): void;
    selectAllMaterials(onOff: boolean, match: DzMaterial, useTextureMap: boolean, prop: DzProperty): void;
    selectAllMaterials(match: DzMaterial): void;
    selectAllMaterials(onOff: boolean, match: DzMaterial, useTextureMap: boolean, prop: DzProperty): void;
    setHighlightMaterial(mat: DzMaterial, view: Dz3DViewport): void;
    setHighlightSelected(onOff: boolean): void;
    setHighlightWidth(width: number): void;
    stylize(): void;
    updateNodeSelection(): void;
    whatsThisText(): QString;
    buildSelectionGroup(parent: QWidget): void;
    highlightSelectedChanged(): void;
    initOptions(): void;
    outlineWidthChanged(): void;
}