import { ButtonVariantType } from '../../types/ButtonVariant';
import { ButtonSizes } from '../../types/ButtonSizes';
import { IconProps } from '../../types/IconProperties';
export declare type ButtonTypeType = 'submit' | 'button';
export declare class TeliaButton {
  clickHandler(ev: any): void;
  host: HTMLTeliaButtonElement;
  /** Set button variant */
  variant: ButtonVariantType;
  /** Test id set for web component host */
  dataTestid: string;
  /** If this button controls (for instance expands or contracts) another
   * element, use this prop to set the id of the controlled element.
   */
  allyControls: string;
  /**
   * If this button has expanded an element, set this prop to true.
   */
  allyExpanded: boolean;
  /** Describe unclear button context for better accessibility support */
  allyLabel: string;
  /** Set button disabled */
  disabled: boolean;
  /** Set button type */
  type: ButtonTypeType;
  /** ID of the form this component belongs to. Should only be set If the component is not wrapped inside its form element. */
  form: string;
  /** Value submitted with form data */
  value: string;
  /** Set button full width, button will take up the full width of its container */
  fullWidth?: boolean;
  /** Set button size to small or default medium */
  size: ButtonSizes;
  /** Specifies that the button should have input focus when the page loads */
  htmlAutofocus: boolean;
  /** Specifies the URL that processes the information submitted by the button */
  formaction: string;
  /** Specifies how to encode the form data that is submitted */
  formenctype: string;
  /** Specifies the HTTP method used to submit the form */
  formmethod: string;
  /** Specifies that the form is not to be validated when it is submitted */
  formnovalidate: boolean;
  /** Indicated where to display the response from submitting the form */
  formtarget: string;
  /** The name of the button */
  name: string;
  /** Text which will be displayed inside the button */
  text: string;
  /** Telia-icon properties passed as an object used to create icon on left side of the text */
  leftIcon: string | IconProps;
  /** Telia-icon properties passed as an object used to create icon on right side of the text */
  rightIcon: string | IconProps;
  /** Internal state for styling purpose of the icon */
  iconOnly: boolean;
  /** Tracking id is used to identify and count Component usage */
  private dataTrackingId;
  private parseJSON;
  /**
   * Returns content provided via props or fallbacks to slots
   * @private
   */
  private renderContent;
  componentWillLoad(): void;
  render(): any;
}
