import { CustomElement, Group } from '../shapes'; import type { GenericAnimation, AnimationResult } from '../animation'; import type { ComponentOptions } from './types'; export declare abstract class Component> extends CustomElement> { protected _defaultOptions: Partial; private _offscreen; protected get offscreenGroup(): Group; initialized: boolean; get defaultOptions(): Partial; constructor(options: ComponentOptions>, defaultStyleProps?: Partial); connectedCallback(): void; disconnectedCallback(): void; attributeChangedCallback(name: Key): void; update(attr?: Partial, animate?: GenericAnimation): void | AnimationResult[]; clear(): void; abstract render(attributes: Required, container: Group, animate?: GenericAnimation): void | AnimationResult[]; bindEvents(attributes: T, container: Group): void; protected getSubShapeStyle(attributes: T): T; }