import { Action, ActionProperty, CardElement, Choice, Input, TimeProperty } from "adaptivecards/lib/card-elements";
import { ValidationResults } from "adaptivecards/lib/card-object";
import { CardObjectRegistry } from "adaptivecards/lib/registry";
import { InputTextStyle } from "adaptivecards/lib/enums";
import { BoolProperty, EnumProperty, NumProperty, SerializableObjectCollectionProperty, StringProperty, ValueSetProperty } from "adaptivecards/lib/serialization";
export declare class FluentUIChoiceSetInput extends Input {
    static readonly valueProperty: StringProperty;
    static readonly choicesProperty: SerializableObjectCollectionProperty;
    static readonly styleProperty: ValueSetProperty;
    static readonly isMultiSelectProperty: BoolProperty;
    static readonly placeholderProperty: StringProperty;
    static readonly wrapProperty: BoolProperty;
    defaultValue?: string;
    style?: "compact" | "expanded" | "filtered";
    get isCompact(): boolean;
    set isCompact(value: boolean);
    isMultiSelect: boolean;
    placeholder?: string;
    wrap: boolean;
    choices: Choice[];
    private element;
    private refControl;
    private selectedValues;
    private defaultSelectedValues;
    private updateSelectedValues;
    private removeItemFromArray;
    protected internalRender(): HTMLElement | undefined;
    getJsonTypeName(): string;
    focus(): void;
    internalValidateProperties(context: ValidationResults): void;
    isSet(): boolean;
    isValid(): boolean;
    get value(): string | undefined;
}
export declare class FluentUIDateInput extends Input {
    static readonly valueProperty: StringProperty;
    static readonly placeholderProperty: StringProperty;
    static readonly minProperty: StringProperty;
    static readonly maxProperty: StringProperty;
    defaultValue?: string;
    min?: string;
    max?: string;
    placeholder?: string;
    private _value?;
    private refControl;
    private element;
    protected internalRender(): HTMLElement | undefined;
    private convertStringToDate;
    getJsonTypeName(): string;
    focus(): void;
    protected updateInputControlAriaLabelledBy(): void;
    isSet(): boolean;
    isValid(): boolean;
    get value(): string | undefined;
}
export declare class FluentUINumberInput extends Input {
    static readonly valueProperty: NumProperty;
    static readonly placeholderProperty: StringProperty;
    static readonly minProperty: NumProperty;
    static readonly maxProperty: NumProperty;
    defaultValue?: number;
    min?: number;
    max?: number;
    placeholder?: string;
    private refControl;
    private element;
    protected internalRender(): HTMLElement | undefined;
    getJsonTypeName(): string;
    focus(): void;
    protected updateInputControlAriaLabelledBy(): void;
    isSet(): boolean;
    isValid(): boolean;
    get value(): number | undefined;
}
export declare class FluentUITextInput extends Input {
    static readonly valueProperty: StringProperty;
    static readonly maxLengthProperty: NumProperty;
    static readonly isMultilineProperty: BoolProperty;
    static readonly placeholderProperty: StringProperty;
    static readonly styleProperty: EnumProperty<typeof InputTextStyle>;
    static readonly inlineActionProperty: ActionProperty;
    static readonly regexProperty: StringProperty;
    defaultValue?: string;
    maxLength?: number;
    isMultiline: boolean;
    placeholder?: string;
    style: InputTextStyle;
    inlineAction?: Action;
    regex?: string;
    private refControl;
    private element;
    protected internalRender(): HTMLElement | undefined;
    private handleKeyDown;
    protected overrideInternalRender(): HTMLElement;
    private buildInlineActionButton;
    private inlineActionClickHandler;
    private inlineIconActionButton;
    private buildTextOnlyInlineActionActionButton;
    getJsonTypeName(): string;
    focus(): void;
    protected updateInputControlAriaLabelledBy(): void;
    getActionById(id: string): Action;
    isSet(): boolean;
    isValid(): boolean;
    get value(): string | undefined;
}
export declare class FluentUITimeInput extends Input {
    private static convertTimeStringToDate;
    static readonly valueProperty: TimeProperty;
    static readonly placeholderProperty: StringProperty;
    static readonly minProperty: TimeProperty;
    static readonly maxProperty: TimeProperty;
    defaultValue?: string;
    min?: string;
    max?: string;
    placeholder?: string;
    private refControl;
    private element;
    protected internalRender(): HTMLElement | undefined;
    getJsonTypeName(): string;
    focus(): void;
    protected updateInputControlAriaLabelledBy(): void;
    isSet(): boolean;
    isValid(): boolean;
    get value(): string | undefined;
}
export declare class FluentUIToggleInput extends Input {
    static readonly valueProperty: StringProperty;
    static readonly titleProperty: StringProperty;
    static readonly valueOnProperty: StringProperty;
    static readonly valueOffProperty: StringProperty;
    static readonly wrapProperty: BoolProperty;
    defaultValue?: string;
    title?: string;
    valueOn: string;
    valueOff: string;
    wrap: boolean;
    private _value?;
    private refControl;
    private element;
    protected internalRender(): HTMLElement | undefined;
    protected get isNullable(): boolean;
    getJsonTypeName(): string;
    focus(): void;
    protected updateInputControlAriaLabelledBy(): void;
    isSet(): boolean;
    get value(): string | undefined;
}
export declare function registerFluentUIElements(registry: CardObjectRegistry<CardElement>): void;
//# sourceMappingURL=Elements.d.ts.map