/**
 * @license
 * Copyright Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { OpenIconOrientation, OpenIconRotation } from './open-icon-constants';
import { BaseComponent, IBaseComponent } from '../core/base/base-component';
export interface IOpenIconComponent extends IBaseComponent {
    open: boolean;
    orientation: OpenIconOrientation;
    rotation: OpenIconRotation;
}
declare global {
    interface HTMLElementTagNameMap {
        'forge-open-icon': IOpenIconComponent;
    }
}
/**
 * @tag forge-open-icon
 *
 * @summary Open icons are used to indicate whether a section is open or closed.
 *
 * @property {boolean} open - Whether the icon is open or closed.
 * @property {OpenIconOrientation} orientation - The orientation of the rotation.
 * @property {OpenIconRotation} rotation - The rotation amount.
 *
 * @attribute {boolean} open - Whether the icon is open or closed.
 * @attribute {OpenIconOrientation} orientation - The orientation of the rotation.
 * @attribute {OpenIconRotation} rotation - The rotation amount.
 *
 * @cssproperty --forge-open-icon-color - The color of the icon.
 * @cssproperty --forge-open-icon-size - The size of the icon.
 * @cssproperty --forge-open-icon-height - The height of the icon. Defaults to `size`.
 * @cssproperty --forge-open-icon-width - The width of the icon. Defaults to `size`.
 * @cssproperty --forge-open-icon-initial-rotation - The initial rotation of the icon.
 * @cssproperty --forge-open-icon-open-rotation - The rotation of the icon when open.
 * @cssproperty --forge-open-icon-animation-duration - The duration of the open animation.
 * @cssproperty --forge-open-icon-half-animation-duration - The duration of the open animation when in a half orientation.
 * @cssproperty --forge-open-icon-animation-timing - The timing function of the open animation.
 *
 * @csspart root - The root element of the icon.
 * @csspart icon - The icon element.
 *
 * @slot - The icon to display when open.
 */
export declare class OpenIconComponent extends BaseComponent implements IOpenIconComponent {
    static get observedAttributes(): string[];
    private _open;
    private _orientation;
    private _rotation;
    constructor();
    attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
    get open(): boolean;
    set open(value: boolean);
    get orientation(): OpenIconOrientation;
    set orientation(value: OpenIconOrientation);
    get rotation(): OpenIconRotation;
    set rotation(value: OpenIconRotation);
}
