import type { Fill, NormalizedFill } from 'modern-idoc';
import type { AnimatedTexture, Texture2D } from '../../resources';
import type { Element2D } from './Element2D';
import { CoreObject } from '../../../core';
export interface Element2DFill extends NormalizedFill {
}
export declare class Element2DFill extends CoreObject {
    parent: Element2D;
    enabled: boolean;
    color?: NormalizedFill['color'];
    image?: NormalizedFill['image'];
    linearGradient?: NormalizedFill['linearGradient'];
    radialGradient?: NormalizedFill['radialGradient'];
    cropRect?: NormalizedFill['cropRect'];
    stretchRect?: NormalizedFill['stretchRect'];
    dpi?: NormalizedFill['dpi'];
    rotateWithShape?: NormalizedFill['rotateWithShape'];
    tile?: NormalizedFill['tile'];
    opacity?: NormalizedFill['opacity'];
    texture?: Texture2D;
    animatedTexture?: AnimatedTexture;
    constructor(parent: Element2D);
    protected _setProperties(properties?: NormalizedFill): this;
    setProperties(properties?: Fill): this;
    protected _updateProperty(key: string, value: any, oldValue: any): void;
    loadTexture(): Promise<void>;
    protected _updateTexture(): Promise<void>;
    isValid(): boolean;
    draw(): void;
    protected _getFrameCurrentTime(): number;
    updateFrameIndex(): this;
    process(_delta: number): void;
}
