import { Material } from 'three';
export type MaterialClass = {
    new (...args: Array<any>): Material;
};
type InstanceOf<T> = T extends {
    new (): infer K;
} ? K : never;
export type PanelMaterialInfo = {
    type: 'instanced';
} | {
    type: 'normal';
    data: Float32Array;
};
export type PanelMaterial = InstanceOf<ReturnType<typeof createPanelMaterial>>;
export declare function createPanelMaterial<T extends MaterialClass>(MaterialClass: T, info: PanelMaterialInfo): Material;
export {};
