import { Device } from './Device'; import { ShaderEffect, ShaderEffectOptions } from './ShaderEffect'; /** * @public */ export interface ShaderFxDocument { name: string; program: string; technique: ShaderFxTechnique | ShaderFxTechnique[]; } /** * @public */ export interface ShaderFxTechnique { name: string; pass: ShaderFxPass | ShaderFxPass[]; } /** * @public */ export interface ShaderFxPass { name?: string; vertexShader: string; fragmentShader: string; } /** * @public */ export declare type ShaderFxIncludeHandler = (includePath: string) => Promise; /** * @public */ export declare type ShaderFxIncludeSyncHandler = (includePath: string) => string; /** * @public */ export declare function createShaderEffect(device: Device, doc: ShaderFxDocument, includeHandler?: ShaderFxIncludeHandler): Promise; /** * @public */ export declare function createShaderEffectOptions(doc: ShaderFxDocument, includeHandler?: ShaderFxIncludeHandler): Promise; /** * @public */ export declare function createShaderEffectSync(device: Device, doc: ShaderFxDocument, includeHandler?: ShaderFxIncludeSyncHandler): ShaderEffect; /** * @public */ export declare function createShaderEffectOptionsSync(doc: ShaderFxDocument, includeHandler?: ShaderFxIncludeSyncHandler): ShaderEffectOptions; //# sourceMappingURL=ShaderFx.d.ts.map