import { IStoryboardLayers } from '../Interfaces';
export declare abstract class Component {
    name?: string;
    uuid: string;
    layers: IStoryboardLayers;
    constructor();
    /**
     * Register components to this component. You can supply as many components as you want.
     * Note: later component will have higher z-index therefore it might appear on top of earlier components if their active time overlap.
     * @param components Component instances
     */
    registerComponents(...components: Component[]): void;
    protected _addToLayer(component: Component): void;
    generate(): void;
}
