import { TgdPainterFunction } from "../types/painter";
import { TgdDebugPainterhierarchy, TgdPainter } from "./painter";
export type TgdPainterGroupOptions = {
    onEnter?(time: number, delay: number): void;
    onExit?(time: number, delay: number): void;
    name?: string;
};
/**
 * Group several painters together.
 */
export declare class TgdPainterGroup extends TgdPainter {
    active: boolean;
    onEnter: TgdPainterFunction | undefined;
    onExit: TgdPainterFunction | undefined;
    private readonly painters;
    constructor(painters?: TgdPainter[], { onEnter, onExit, name }?: TgdPainterGroupOptions);
    forEachChild(callback: (child: TgdPainter, index: number) => void): void;
    has(painter: TgdPainter): boolean;
    add(...painters: TgdPainter[]): void;
    addFirst(...painters: TgdPainter[]): void;
    remove(...painters: TgdPainter[]): void;
    removeAll(): void;
    delete(): void;
    paint(time: number, delay: number): void;
    debugHierarchy(): TgdDebugPainterhierarchy;
}
//# sourceMappingURL=group.d.ts.map