import type { NobjcObject } from "objc-js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _GLKEffectPropertyFog } from "./GLKEffectPropertyFog.js";
import type { _GLKEffectPropertyLight } from "./GLKEffectPropertyLight.js";
import type { _GLKEffectPropertyMaterial } from "./GLKEffectPropertyMaterial.js";
import type { _GLKEffectPropertyTexture } from "./GLKEffectPropertyTexture.js";
import type { _GLKEffectPropertyTransform } from "./GLKEffectPropertyTransform.js";
import type { GLKLightingType } from "./GLKLightingType.js";
export declare class _GLKBaseEffect extends _NSObject {
    static alloc(): _GLKBaseEffect;
    static new(): _GLKBaseEffect;
    init(): _GLKBaseEffect;
    /** Sync all effect changes for consistent state when drawing */
    prepareToDraw(): void;
    /** GL_FALSE */
    colorMaterialEnabled(): number;
    setColorMaterialEnabled$(value: number): void;
    /** GL_FALSE */
    lightModelTwoSided(): number;
    setLightModelTwoSided$(value: number): void;
    /** GL_TRUE */
    useConstantColor(): number;
    setUseConstantColor$(value: number): void;
    /** Identity Matrices */
    transform(): _GLKEffectPropertyTransform;
    /** Disabled */
    light0(): _GLKEffectPropertyLight;
    /** Disabled */
    light1(): _GLKEffectPropertyLight;
    /** Disabled */
    light2(): _GLKEffectPropertyLight;
    /** GLKLightingTypePerVertex */
    lightingType(): GLKLightingType;
    setLightingType$(value: GLKLightingType): void;
    /** { 0.2, 0.2, 0.2, 1.0 } */
    lightModelAmbientColor(): NobjcObject;
    setLightModelAmbientColor$(value: NobjcObject): void;
    /** Default material state */
    material(): _GLKEffectPropertyMaterial;
    /** Disabled */
    texture2d0(): _GLKEffectPropertyTexture;
    /** Disabled */
    texture2d1(): _GLKEffectPropertyTexture;
    /** texture2d0, texture2d1 */
    textureOrder(): _NSArray | null;
    setTextureOrder$(value: _NSArray | null): void;
    /** { 1.0, 1.0, 1.0, 1.0 } */
    constantColor(): NobjcObject;
    setConstantColor$(value: NobjcObject): void;
    /** Disabled */
    fog(): _GLKEffectPropertyFog;
    /** " GLKBaseEffect" */
    label(): _NSString | null;
    setLabel$(value: _NSString | null): void;
}
