import HaikuElement from './HaikuElement';
export declare const VERSION: any;
export interface HotComponent {
    timelineName: string;
    selector: string;
    propertyNames: string[];
}
export default class HaikuComponent extends HaikuElement {
    _alwaysFlush: any;
    _builder: any;
    _bytecode: any;
    _context: any;
    _controlFlowData: any;
    _flatManaTree: any;
    _hashTableOfIdsToElements: any;
    _horizonElements: any;
    _isDeactivated: any;
    _isSleeping: any;
    _lastDeltaPatches: any;
    _matchedElementCache: any;
    _mutableTimelines: any;
    _needsFullFlush: any;
    _renderScopes: any;
    _states: any;
    _timelineInstances: any;
    config: any;
    CORE_VERSION: any;
    PLAYER_VERSION: any;
    nestedComponentElements: any;
    registeredEventHandlers: any;
    state: any;
    constructor(bytecode: any, context: any, config: any, container: any);
    _markHorizonElement(virtualElement: any): void;
    _isHorizonElement(virtualElement: any): boolean;
    _getRealElementAtId(flexId: any): any;
    _addElementToHashTable(realElement: any, virtualElement: any): void;
    _didElementRenderSurrogate(virtualElement: any, surrogatePlacementKey: any, surrogateObject: any): boolean;
    _markElementSurrogateAsRendered(virtualElement: any, surrogatePlacementKey: any, surrogateObject: any): void;
    callRemount(incomingConfig: any, skipMarkForFullFlush: any): void;
    callUnmount(incomingConfig: any): void;
    assignConfig(incomingConfig: any): this;
    set(key: any, value: any): this;
    get(key: any): any;
    setState(states: any): this;
    getStates(): any;
    clearCaches(options?: {}): this;
    getClock(): any;
    getTemplate(): any;
    getTimelines(): any;
    fetchTimelines(): any;
    getTimeline(name: any): any;
    getDefaultTimeline(): any;
    stopAllTimelines(): void;
    startAllTimelines(): void;
    startTimeline(timelineName: any): void;
    stopTimeline(timelineName: any): void;
    getTimelineDescriptor(timelineName: any): any;
    getInjectables(element: any): {};
    deactivate(): this;
    isDeactivated(): any;
    sleepOn(): this;
    sleepOff(): this;
    isSleeping(): any;
    dump(): string;
    getBytecodeMetadata(): any;
    getAddressableProperties(out?: {}): {};
    eachEventHandler(iteratee: Function): void;
    routeEventToHandler(eventSelectorGiven: string, eventNameGiven: string, eventArgs: any): void;
    routeEventToHandlerAndEmit(eventSelectorGiven: string, eventNameGiven: string, eventArgs: any): void;
    _markForFullFlush(): this;
    _unmarkForFullFlush(): this;
    _shouldPerformFullFlush(): any;
    patch(container: any, patchOptions: any, skipCache?: boolean): any;
    _getPrecalcedPatches(): any;
    _rehydrateFlatManaTree(): any;
    renderUsingOwnContext(): any;
    reinitializeTree(container: any): void;
    render(container: any, renderOptions: any): any;
    findElementsByHaikuId(componentId: any): any;
    _hydrateMutableTimelines(): void;
    addHotComponent(hotComponent: HotComponent): void;
}
export declare const initializeComponentTree: (node: any, host: any, context: any, instance: any) => void;
