import { IEventDetail, IEventEmitter } from '@breadstone/mosaik-elements'; import type { CustomElement } from '../Components/Abstracts/CustomElement'; import type { ControlBehaviorBase, ControlBehaviorReturn } from './Abstracts/Behavior'; import { type IDisableableProps } from './Disableable'; import { type IValueableProps } from './Valueable'; /** * Represents the events of the `Clearable` mixin. * * @public */ export interface IClearableEvents { cleared: IEventEmitter; } /** * Represents the `IClearableElementProps` interface. * * @public */ export interface IClearableProps extends IValueableProps, IDisableableProps { /** * Determines whether the element is clearable or not. * Clearable means that a clear button will be displayed when the element has a value. * When the clear button is clicked, the value of the element will be cleared. */ isClearable: boolean; } /** * Represents the `IClearable` interface. * * @public */ export interface IClearable { /** * Clears the value of the element but not the validation. * * @param force - A optional parameter executes the clear method even if the component is disable. * @returns Returns `true` if the value was cleared; otherwise, `false`. * If the component is disabled and the `force` parameter is not `true`, the method will return `false`. */ clear(force?: boolean): boolean; } /** * @public */ export declare namespace IClearableProps { const DEFAULTS: Omit; } /** * @fires cleared {ClearedEvent} - Fires when the `clear` method is called. * * @public */ export declare const Clearable: >(base: T) => ControlBehaviorReturn; //# sourceMappingURL=Clearable.d.ts.map