/**
 * @license
 * Copyright 2023 Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { SwitchLabelPosition } from './switch-constants';
import { BaseComponent, IBaseComponent } from '../core/base/base-component';
export interface ISwitchComponent extends IBaseComponent {
    dense: boolean;
    disabled: boolean;
    selected: boolean;
    labelPosition: SwitchLabelPosition;
}
declare global {
    interface HTMLElementTagNameMap {
        'forge-switch': ISwitchComponent;
    }
    interface HTMLElementEventMap {
        'forge-switch-select': CustomEvent<boolean>;
    }
}
/**
 * The custom element class behind the `<forge-switch>` element.
 *
 * @tag forge-switch
 */
export declare class SwitchComponent extends BaseComponent implements ISwitchComponent {
    static get observedAttributes(): string[];
    private _containerElement;
    private _buttonElement;
    private _mdcSwitch;
    private _dense;
    private _disabled;
    private _selected;
    private _labelPosition;
    private _clickListener;
    constructor();
    private _initialize;
    connectedCallback(): void;
    disconnectedCallback(): void;
    attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
    private _applyInitialState;
    private _onClick;
    private _applySelected;
    private _applyDense;
    private _applyLabelPosition;
    private _applyButtonLabel;
    get dense(): boolean;
    set dense(value: boolean);
    get disabled(): boolean;
    set disabled(value: boolean);
    get selected(): boolean;
    set selected(value: boolean);
    get labelPosition(): SwitchLabelPosition;
    set labelPosition(value: SwitchLabelPosition);
}
