import * as PIXI from "pixi.js";
import { BaseContainer } from "./base-container";
import { App } from "../../core/app";
interface IResources<T = any> {
    diffuse?: T;
    depth?: T;
    [x: string]: any;
}
export interface IBaseConvexObjectConfig {
    diffuseMap: string;
    depthMap?: string;
    diffuseMapTexture?: PIXI.Texture;
    depthMapTexture?: PIXI.Texture;
}
export declare class BaseConvexObject<T extends App = any, C extends IBaseConvexObjectConfig = any> extends BaseContainer {
    protected _config: C;
    protected _diffuseMapSprite: PIXI.Sprite | undefined;
    protected _depthMapSprite: PIXI.Sprite | undefined;
    protected _container: PIXI.Container | undefined;
    protected _textures: IResources<PIXI.Texture>;
    protected _displacementFilter: PIXI.filters.DisplacementFilter | undefined;
    protected _loader: PIXI.Loader | undefined;
    protected _filters: PIXI.Filter[];
    protected _originalWidth: number;
    protected _originalHeight: number;
    constructor(appContext: T, _config: C);
    /**
     * Setupt the POV-effect weights
     */
    setPOV(x: number, y: number): void;
    destroy(): void;
    protected initialize(): void;
    protected create(): void;
    /**
     * Calling when loading is fineshed
     */
    protected loadingComplete(): void;
    readonly container: PIXI.Container | undefined;
    readonly config: C;
}
export {};
//# sourceMappingURL=base-sprite.d.ts.map