import { CustomElement } from '../../../Abstracts/CustomElement';
import { IResizeAdornerElementProps } from './IResizeAdornerElementProps';
declare const ResizeAdornerElement_base: (abstract new (...args: Array<any>) => import("../../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array<any>) => import("../../../../Behaviors/Disableable").IDisableableProps) & typeof CustomElement & import("../../../../Behaviors/Themeable").IThemeableCtor;
/**
 * Resize Adorner - An interactive UI element typically used to resize an element.
 *
 * @description
 * The resize adorner element is used to resize an element.
 *
 * @name Resize Adorner
 * @element mosaik-resize-adorner
 * @category Adorners
 *
 * @slot - The content of the resize adorner.
 *
 * @csspart handle bottom-left
 * @csspart handle bottom-right
 * @csspart handle top-left
 * @csspart handle top-right
 * @csspart resizable
 *
 * @cssprop {Color} --resize-adorner-border-color
 * @cssprop {String} --resize-adorner-border-radius
 * @cssprop {String} --resize-adorner-border-style
 * @cssprop {String} --resize-adorner-border-width
 * @cssprop {String} --resize-adorner-font-family - The adorner font family CSS custom property.
 * @cssprop {String} --resize-adorner-font-letter-spacing - The adorner font letter spacing CSS custom property.
 * @cssprop {String} --resize-adorner-font-line-height - The adorner font line height CSS custom property.
 * @cssprop {String} --resize-adorner-font-size - The adorner font size CSS custom property.
 * @cssprop {String} --resize-adorner-font-text-decoration - The adorner font text decoration CSS custom property.
 * @cssprop {String} --resize-adorner-font-text-transform - The adorner font text transform CSS custom property.
 * @cssprop {String} --resize-adorner-font-weight - The adorner font weight CSS custom property.
 * @cssprop {String} --resize-adorner-gap - The adorner gap CSS custom property.
 * @cssprop {String} --resize-adorner-padding-bottom - The adorner padding bottom CSS custom property.
 * @cssprop {String} --resize-adorner-padding-left - The adorner padding left CSS custom property.
 * @cssprop {String} --resize-adorner-padding-right - The adorner padding right CSS custom property.
 * @cssprop {String} --resize-adorner-padding-top - The adorner padding top CSS custom property.
 * @cssprop {String} --resize-adorner-shadow - The adorner shadow CSS custom property.
 * @cssprop {String} --resize-adorner-shadow-blur - The adorner shadow blur CSS custom property.
 * @cssprop {String} --resize-adorner-shadow-color - The adorner shadow color CSS custom property.
 * @cssprop {String} --resize-adorner-shadow-offset-x - The adorner shadow offset x CSS custom property.
 * @cssprop {String} --resize-adorner-shadow-offset-y - The adorner shadow offset y CSS custom property.
 * @cssprop {String} --resize-adorner-shadow-spread - The adorner shadow spread CSS custom property.
 * @cssprop {Color} --resize-adorner-thumb-background-color
 * @cssprop {String} --resize-adorner-thumb-border-radius
 * @cssprop {String} --resize-adorner-transition-duration - The adorner transition duration CSS custom property.
 * @cssprop {String} --resize-adorner-transition-mode - The adorner transition mode CSS custom property.
 * @cssprop {String} --resize-adorner-transition-property - The adorner transition property CSS custom property.
 * @cssprop {String} --resize-adorner-translate - The adorner translate CSS custom property.
 *
 * @example
 * ```html
 * <mosaik-resize-adorner></mosaik-resize-adorner>
 * ```
 *
 * @public
 */
export declare class ResizeAdornerElement extends ResizeAdornerElement_base implements IResizeAdornerElementProps {
    private _angle;
    private _transformOrigin;
    private _topLeftHandleMouseDownSubscription;
    private _topRightHandleMouseDownSubscription;
    private _bottomLeftHandleMouseDownSubscription;
    private _bottomRightHandleMouseDownSubscription;
    /**
     * @public
     */
    constructor();
    /**
     * Returns the `is` property.
     * The `is` property represents natural name of this element.
     *
     * @public
     * @static
     * @readonly
     */
    static get is(): string;
    /**
     * Gets or sets the `angle` property.
     *
     * @public
     * @attr
     */
    get angle(): number;
    set angle(value: number);
    /**
     * Gets or sets the `transformOrigin` property.
     *
     * @public
     * @attr
     */
    get transformOrigin(): {
        x: number;
        y: number;
    };
    set transformOrigin(value: {
        x: number;
        y: number;
    });
    /**
     * @public
     * @override
     */
    disconnectedCallback(): void;
    /**
     * @protected
     * @override
     */
    protected onApplyTemplate(): void;
    /**
     * @protected
     */
    protected onAnglePropertyChanged(prev: number, next: number): void;
    /**
     * @protected
     */
    protected onTransformOriginPropertyChanged(prev: {
        x: number;
        y: number;
    }, next: {
        x: number;
        y: number;
    }): void;
    /**
     * @protected
     */
    protected onDisabledPropertyChanged(prev: boolean, next: boolean): void;
    /**
     * @protected
     * @template
     */
    onHandle(event: MouseEvent, direction: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'): void;
    /**
     * @private
     */
    private updateTransforms;
    /**
     * @private
     */
    private onDragResize;
}
/**
 * @public
 */
export declare namespace ResizeAdornerElement {
    type Props = IResizeAdornerElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-resize-adorner': ResizeAdornerElement;
    }
}
export {};
//# sourceMappingURL=ResizeAdornerElement.d.ts.map