/**
 * @license
 * Copyright Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { ICustomElement } from '@tylertech/forge-core';
import { IIconComponent } from '../../icon';
import { BaseComponent } from '../../core/base/base-component';
import { IBaseListDropdownOption, ListDropdownIconType } from '../../list-dropdown/list-dropdown-constants';
export interface IOptionComponent extends ICustomElement, Required<IBaseListDropdownOption> {
}
declare global {
    interface HTMLElementTagNameMap {
        'forge-option': IOptionComponent;
    }
}
/**
 * The custom element class behind the `<forge-option>` element.
 *
 * @tag forge-option
 */
export declare class OptionComponent extends BaseComponent implements IOptionComponent {
    static get observedAttributes(): string[];
    private _foundation;
    constructor();
    initializedCallback(): void;
    attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
    /** Gets/sets the value of this option. */
    value: any;
    /** Gets/sets the label of this option. */
    label: string;
    /** Gets/sets the secondary label of this option. */
    secondaryLabel: string;
    /** Gets/sets the disabled status of this option. */
    disabled: boolean;
    /** Gets/sets the whether this option is a divider. */
    divider: boolean;
    /** Gets/sets the classes of this option. */
    optionClass: string | string[];
    /** Gets/sets the leading icon of this option. */
    leadingIcon: string;
    /** Gets/sets the leading icon class of this option. */
    leadingIconClass: string;
    /** Gets/sets the leading icon type of this option. */
    leadingIconType: ListDropdownIconType;
    /** Gets/sets properties on leading icon component. */
    leadingIconComponentProps: Partial<IIconComponent>;
    /** Gets/sets the trailing icon of this option. */
    trailingIcon: string;
    /** Gets/sets the trailing icon class of this option. */
    trailingIconClass: string;
    /** Gets/sets the trailing icon type of this option. */
    trailingIconType: ListDropdownIconType;
    /** Gets/sets properties on trailing icon component. */
    trailingIconComponentProps: Partial<IIconComponent>;
    /** Gets/sets the leading builder of this option. */
    leadingBuilder: () => HTMLElement;
    /** Gets/sets the trailing builder of this option. */
    trailingBuilder: () => HTMLElement;
}
