import { System } from '../system';
import { PositionObserver } from '../types/global/PositionObserver';
import { Unlisten } from '../types/Unlisten';
import { Component } from './component';
import { IOElement } from './IOElement';
import { Listenable } from './Listenable';
import { Theme } from './theme';
export interface Context extends Listenable {
    $system: System;
    $mounted: boolean;
    $disabled: boolean;
    $parent: Context | null;
    $element: HTMLElement;
    $context: Context;
    $x: number;
    $y: number;
    $sx: number;
    $sy: number;
    $rx: number;
    $ry: number;
    $rz: number;
    $width: number;
    $height: number;
    $theme: Theme;
    $color: string;
    $children: Component[];
    $resizeObserver: ResizeObserver;
    $positionObserver: PositionObserver;
}
export declare function dispatchContextEvent($context: Context, type: string, data?: any): void;
export declare function dispatchCustomEvent($element: IOElement, type: string, detail?: any, bubbles?: boolean): void;
export declare function setParent($context: Context, $parent: Context | null): void;
export declare function mount($context: Context): void;
export declare function unmount($context: Context): void;
export declare function resize($context: Context, width: number, height: number): void;
export declare function setWidth($context: Context, width: number): void;
export declare function setHeight($context: Context, height: number): void;
export declare function setTheme($context: Context, $theme: Theme): void;
export declare function _setColor($context: Context, $color: string): void;
export declare function setColor($context: Context, $color: string): void;
export declare function appendChild($context: Context, component: Component, { animate }?: {
    animate?: boolean;
}): Unlisten;
export declare function enableContext($context: Context): void;
export declare function disableContext($context: Context): void;
export declare function focusContext($context: Context): void;
export declare function blurContext($context: Context): void;
