import * as d from '.';
export declare type LazyBundlesRuntimeData = LazyBundleRuntimeData[];
export declare type LazyBundleRuntimeData = [
/** bundleIds */
any, ComponentRuntimeMetaCompact[]];
export declare type ComponentRuntimeMetaCompact = [
/** flags */
number, 
/** tagname */
string, 
/** members */
{
    [memberName: string]: ComponentRuntimeMember;
}?, 
/** listeners */
ComponentRuntimeHostListener[]?];
export interface ComponentRuntimeMeta {
    $flags$: number;
    $tagName$: string;
    $members$?: ComponentRuntimeMembers;
    $listeners$?: ComponentRuntimeHostListener[];
    $attrsToReflect$?: [string, string][];
    $watchers$?: d.ComponentConstructorWatchers;
    $lazyBundleIds$?: d.ModeBundleIds;
}
export interface ComponentRuntimeMembers {
    [memberName: string]: ComponentRuntimeMember;
}
export declare type ComponentRuntimeMember = [
/**
 * flags data
 */
number, 
/**
 * attribute name to observe
 */
string?];
export declare type ComponentRuntimeHostListener = [
/**
 * event flags
 */
number, 
/**
 * event name,
 */
string, 
/**
 * event method,
 */
string];
export declare type ModeBundleId = ModeBundleIds | string;
export interface ModeBundleIds {
    [modeName: string]: string;
}
export declare type RuntimeRef = d.HostElement | {};
export interface HostRef {
    $ancestorComponent$?: d.HostElement;
    $flags$: number;
    $hostElement$?: d.HostElement;
    $instanceValues$?: Map<string, any>;
    $lazyInstance$?: d.ComponentInterface;
    $onReadyPromise$?: Promise<any>;
    $onReadyResolve$?: (elm: any) => void;
    $vnode$?: d.VNode;
    $rmListeners$?: () => void;
    $modeName$?: string;
}
export interface PlatformRuntime {
    $flags$: number;
    $resourcesUrl$: string;
    raf: (c: FrameRequestCallback) => number;
    ael: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
    rel: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
    $orgLocNodes$?: Map<string, d.RenderNode>;
}
export declare type RefMap = WeakMap<any, HostRef>;
export declare type StyleMap = Map<string, CSSStyleSheet | string>;
export declare type RootAppliedStyleMap = WeakMap<Element, Set<string>>;
export declare type AppliedStyleMap = Set<string>;
export declare type ActivelyProcessingCmpMap = Set<Element>;
