import { Element } from '../../../../../client/element';
import { System } from '../../../../../system';
import { Dict } from '../../../../../types/Dict';
import Div from '../../Div/Component';
import Icon from '../../Icon/Component';
export interface Props {
    className?: string;
    style?: Dict<string>;
    down?: boolean;
    hidden?: boolean;
}
export declare const TRANSCEND_WIDTH = 33;
export declare const TRANSCEND_HEIGHT = 33;
export declare const TRANSCEND_BORDER_RADIUS: number;
export declare const TRANSCEND_PULL_DY: number;
export declare const DEFAULT_STYLE: {
    position: string;
    top: string;
    left: string;
    transform: string;
    width: string;
    height: string;
    borderWidth: string;
    borderStyle: string;
    borderColor: string;
    borderBottomLeftRadius: string;
    borderBottomRightRadius: string;
    cursor: string;
    display: string;
    justifyContent: string;
    touchAction: string;
    alignItems: string;
    zIndex: string;
    marginTop: string;
    transition: string;
};
export default class Transcend extends Element<HTMLDivElement, Props> {
    _container: Div;
    _icon: Icon;
    private _tooltip;
    private _x;
    private _y;
    private _y_target;
    private _y_animation;
    private _pull_tick_count;
    private _pull_tick_frame;
    private _pointer_down_id;
    private _hidden;
    private _down;
    constructor($props: Props, $system: System);
    private _get_style_left;
    private _get_style;
    private _refresh_style;
    onPropChanged(prop: string, current: any): void;
    private _cancel_pull_tick_frame;
    private _pull_tick;
    private _start_pull_timer;
    private _translate;
    private _context_unlisten;
    onMount(): void;
    onUnmount(): void;
    private _on_context_resize;
    up(animate?: boolean): void;
    down(animate?: boolean): void;
    private _animate_y;
    hide(animate?: boolean): void;
    show(animate?: boolean): void;
}
