import { default as DapDSIcon } from '../icon/icon.component';
import { default as DapDSIconButton } from '../icon-button/icon-button.component';
import { InputBaseElement } from '../input/input-base-element';
import { default as DapDSSpinner } from '../spinner/spinner.component';
import { default as DapDSStack } from '../stack/stack.component';
/**
 * `dap-ds-password-input`
 * @summary A password input a field for entering a password.
 * @element dap-ds-password-input
 * @title - Password input
 *
 * @property {string} label - The label of the password input.
 * @property {string} placeholder - The placeholder of the password input.
 * @property {string} description - The description of the password input.
 * @property {string} tooltip - The tooltip of the password input.
 * @property {'top' | 'right' | 'bottom' | 'left'} tooltipPlacement - The tooltip placement of the input.
 * @property {string} status - The status of the password input. Can be `success` or `error`.
 * @property {'xs' | 'sm' | 'sm'} size - The size of the password input. Default is `sm`.
 * @property {string} name - The name of the password input.
 * @property {string} value - The value of the password input.
 * @property {boolean} disabled - The disabled state of the password input. Default is false.
 * @property {boolean} required - The required state of the password input. Default is false.
 * @property {boolean} readonly - The readonly state of the password input. Default is false.
 * @property {boolean} autofocus - The autofocus state of the password input. Default is false.
 * @property {string} feedback - The feedback of the input.
 * @property {'negative' | 'positive' | 'warning'} feedbackType - The feedback type of the input. Can be `negative`, `positive`, or `warning`.
 * @property {boolean} loading - The loading state of the password input. Default is false.
 * @property {boolean} optional - The optional state of the password input.
 * @property {string} optionalLabel - The optional label of the password input.
 * @property {string} requiredLabel - The required indicator of the password input. (default: '*')
 * @property {boolean} subtle - The weight of the label. Default is `false`
 *
 * @event {{ value: string }} dds-change - Fired when the input value changes.
 * @event {{ value: string }} dds-input - Fired when the input value changes.
 * @event {{ value: string, originalEvent: Event }} dds-keydown - Fired when a key is pressed down.
 * @event {{ void }} dds-blur - Fired when the input loses focus.
 * @event {{ void }} dds-focus - Emitted when the input gains focus.
 *
 * @cssproperty --dds-input-height-xs - The height of the extra small input. (default: var(--dds-spacing-800)).
 * @cssproperty --dds-input-height-sm - The height of the small input. (default: var(--dds-spacing-1000)).
 * @cssproperty --dds-input-height-lg - The height of the large input. (default: var(--dds-spacing-1200)).
 * @cssproperty --dds-input-padding-xs - The padding of the extra small input. (default: 0 var(--dds-spacing-200)).
 * @cssproperty --dds-input-padding-sm - The padding of the small input. (default: 0 var(--dds-spacing-300)).
 * @cssproperty --dds-input-padding-lg - The padding of the large input. (default: 0 var(--dds-spacing-400)).
 * @cssproperty --dds-input-font-size-xs - The font size of the extra small input. (default: var(--dds-font-sm)).
 * @cssproperty --dds-input-font-size-sm - The font size of the small input. (default: var(--dds-font-base)).
 * @cssproperty --dds-input-font-size-lg - The font size of the large input. (default: var(--dds-font-lg)).
 * @cssproperty --dds-input-border - The border of the input. (default: var(--dds-border-width-base) solid var(--dds-border-neutral-base)).
 * @cssproperty --dds-input-background - The background color of the input. (default: var(--dds-fields-background-default)).
 * @cssproperty --dds-input-text-color - The text color of the input. (default: var(--dds-text-neutral-base)).
 * @cssproperty --dds-input-border-radius - The border radius of the input. (default: var(--dds-radius-base)).
 * @cssproperty --dds-input-disabled-border - The border of the disabled input. (default: 0 solid var(--dds-border-neutral-disabled)).
 * @cssproperty --dds-input-disabled-background - The background color of the disabled input. (default: var(--dds-fields-background-disabled)).
 * @cssproperty --dds-input-disabled-text - The text color of the disabled input. (default: var(--dds-text-neutral-disabled)).
 * @cssproperty --dds-input-readonly-border - The border of the readonly input. (default: 0 solid var(--dds-border-neutral-subtle)).
 * @cssproperty --dds-input-readonly-background - The background color of the readonly input. (default: var(--dds-fields-background-read-only)).
 * @cssproperty --dds-input-readonly-text - The text color of the readonly input. (default: var(--dds-text-neutral-subtle)).
 * @cssproperty --dds-input-success-border - The border of the success input. (default: var(--dds-border-width-base) solid var(--dds-border-positive-base)).
 * @cssproperty --dds-input-error-border - The border of the error input. (default: var(--dds-border-width-base) solid var(--dds-border-negative-base)).
 * @cssproperty --dds-input-addon-background - The background color of the input addon. (default: var(--dds-fields-background-default)).
 * @cssproperty --dds-input-addon-success-background - The background color of the success input addon. (default: var(--dds-fields-background-default)).
 * @cssproperty --dds-input-addon-error-background - The background color of the error input addon. (default: var(--dds-fields-background-default)).
 * @cssproperty --dds-input-addon-border-before - The border of the addon before the input. (default: var(--dds-border-width-base) solid var(--dds-border-neutral-base)).
 * @cssproperty --dds-input-addon-border-after - The border of the addon after the input. (default: var(--dds-border-width-base) solid var(--dds-border-neutral-base)).
 * @cssproperty --dds-input-addon-border-width-before - The border width of the addon before the input. (default: var(--dds-border-width-base) 0 var(--dds-border-width-base) var(--dds-border-width-base)).
 * @cssproperty --dds-input-addon-border-width-after - The border width of the addon after the input. (default: var(--dds-border-width-base) var(--dds-border-width-base) var(--dds-border-width-base) 0).
 * @cssproperty --dds-input-addon-success-border - The border of the success addon. (default: var(--dds-border-width-base) solid var(--dds-border-positive-base)).
 * @cssproperty --dds-input-addon-success-border-before - The border of the success addon before the input. (default: var(--dds-border-width-base) solid var(--dds-border-positive-base)).
 * @cssproperty --dds-input-addon-success-border-after - The border of the success addon after the input. (default: var(--dds-border-width-base) solid var(--dds-border-positive-base)).
 * @cssproperty --dds-input-addon-success-border-width-before - The border width of the success addon before the input. (default: var(--dds-border-width-base) 0 var(--dds-border-width-base) var(--dds-border-width-base)).
 * @cssproperty --dds-input-addon-success-border-width-after - The border width of the success addon after the input. (default: var(--dds-border-width-base) var(--dds-border-width-base) var(--dds-border-width-base) 0).
 * @cssproperty --dds-input-addon-error-border-before - The border of the error addon before the input. (default: var(--dds-border-width-base) solid var(--dds-border-negative-base)).
 * @cssproperty --dds-input-addon-error-border-after - The border of the error addon after the input. (default: var(--dds-border-width-base) solid var(--dds-border-negative-base)).
 * @cssproperty --dds-input-addon-error-border-width-before - The border width of the error addon before the input. (default: var(--dds-border-width-base) 0 var(--dds-border-width-base) var(--dds-border-width-base)).
 * @cssproperty --dds-input-addon-error-border-width-after - The border width of the error addon after the input. (default: var(--dds-border-width-base) var(--dds-border-width-base) var(--dds-border-width-base) 0).
 *
 * @csspart postfix - The postfix of the password input.
 * @csspart password-input - The password input.
 * @csspart password-input--visible - The visible password input.
 * @csspart show-button - The show button of the password input.
 * @csspart show-button-base - The base of the show button.
 * @csspart show-button-content - The content of the show button.
 * @csspart show-icon - The show icon of the password input.
 * @csspart show-icon-base - The base of the show icon.
 * @csspart hide-button - The hide button of the password input.
 * @csspart hide-button-base - The base of the hide button.
 * @csspart hide-button-content - The content of the hide button.
 * @csspart hide-icon - The hide icon of the password input.
 * @csspart hide-icon-base - The base of the hide icon.
 */
export default class DapDSPasswordInput extends InputBaseElement {
    static tagName: string;
    static dependencies: {
        'dap-ds-stack': typeof DapDSStack;
        'dap-ds-spinner': typeof DapDSSpinner;
        'dap-ds-icon-button': typeof DapDSIconButton;
        'dap-ds-icon': typeof DapDSIcon;
    };
    passwordVisibile: boolean;
    /** `data-testid` for the show/hide toggle button. */
    toggleButtonTestId: string;
    static readonly styles: import('lit').CSSResult;
    constructor();
    private _toggleVisibility;
    private getIconSize;
    render(): import('lit-html').TemplateResult<1>;
}
