/**
 * @license
 * Copyright Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { ICustomElementFoundation } from '@tylertech/forge-core';
import { IIconComponent } from '../../icon';
import { IBaseListDropdownOption, ListDropdownIconType } from '../../list-dropdown/list-dropdown-constants';
import { IOptionAdapter } from './option-adapter';
export interface IOptionFoundation extends ICustomElementFoundation, Required<IBaseListDropdownOption> {
}
/** The foundation class behind the `<forge-option>` element. */
export declare class OptionFoundation implements IOptionFoundation {
    private _adapter;
    private _value;
    private _label;
    private _secondaryLabel;
    private _disabled;
    private _divider;
    private _optionClass;
    private _leadingIcon;
    private _leadingIconClass;
    private _leadingIconType;
    private _leadingIconComponentProps;
    private _trailingIcon;
    private _trailingIconClass;
    private _trailingIconType;
    private _trailingIconComponentProps;
    private _leadingBuilder;
    private _trailingBuilder;
    constructor(_adapter: IOptionAdapter);
    /** Gets/sets the value of this option. */
    get value(): any;
    set value(value: any);
    /** Gets/sets the label of this option. */
    get label(): string;
    set label(value: string);
    /** Gets/sets the secondary label of this option. */
    get secondaryLabel(): string;
    set secondaryLabel(value: string);
    /** Gets/sets the disabled status of this option. */
    get disabled(): boolean;
    set disabled(value: boolean);
    /** Gets/sets the whether this option is a divider. */
    get divider(): boolean;
    set divider(value: boolean);
    /** Gets/sets the classes of this option. */
    get optionClass(): string | string[];
    set optionClass(value: string | string[]);
    /** Gets/sets the leading icon of this option. */
    get leadingIcon(): string;
    set leadingIcon(value: string);
    /** Gets/sets the leading icon class of this option. */
    get leadingIconClass(): string;
    set leadingIconClass(value: string);
    /** Gets/sets the leading icon type of this option. */
    get leadingIconType(): ListDropdownIconType;
    set leadingIconType(value: ListDropdownIconType);
    /** Gets/sets the props on the leading icon component. */
    get leadingIconComponentProps(): Partial<IIconComponent>;
    set leadingIconComponentProps(value: Partial<IIconComponent>);
    /** Gets/sets the trailing icon of this option. */
    get trailingIcon(): string;
    set trailingIcon(value: string);
    /** Gets/sets the trailing icon class of this option. */
    get trailingIconClass(): string;
    set trailingIconClass(value: string);
    /** Gets/sets the trailing icon type of this option. */
    get trailingIconType(): ListDropdownIconType;
    set trailingIconType(value: ListDropdownIconType);
    /** Gets/sets the props on the trailing icon component. */
    get trailingIconComponentProps(): Partial<IIconComponent>;
    set trailingIconComponentProps(value: Partial<IIconComponent>);
    /** Gets/sets the leading builder of this option. */
    get leadingBuilder(): (() => HTMLElement);
    set leadingBuilder(value: (() => HTMLElement));
    /** Gets/sets the trailing builder of this option. */
    get trailingBuilder(): (() => HTMLElement);
    set trailingBuilder(value: (() => HTMLElement));
}
