import { OnChanges, OnInit } from '@angular/core'; import { Styles, StyleSheetFactoryOptions, Theme } from '../../types/index'; import { Ground, GroundProps } from '../ground/index'; declare type ColorProp = 'default' | 'inherit' | 'primary' | 'secondary'; declare type DisabledProp = boolean | string; declare type DisableElevationProp = boolean | string; declare type DisableFocusRippleProp = boolean | string; declare type DisableRippleProp = boolean | string; declare type EndIconProp = string | undefined; declare type FullWidthProp = boolean | string; declare type SizeProp = 'large' | 'medium' | 'small'; declare type StartIconProp = string | undefined; declare type TypeProp = 'button' | 'reset' | 'submit'; declare type VariantProp = 'contained' | 'outlined' | 'text'; export interface ButtonProps extends GroundProps { color: ColorProp; disabled: DisabledProp; disableElevation: DisableElevationProp; disableFocusRipple: DisableFocusRippleProp; disableRipple: DisableRippleProp; endIcon: EndIconProp; fullWidth: FullWidthProp; size: SizeProp; startIcon: StartIconProp; type: TypeProp; variant: VariantProp; } export declare const ButtonClassKey: string; export declare type ButtonClasses = 'root' | 'colorInherit' | 'contained' | 'containedPrimary' | 'containedSecondary' | 'containedSizeLarge' | 'containedSizeSmall' | 'disabled' | 'disableElevation' | 'endIcon' | 'focusVisible' | 'fullWidth' | 'iconSizeLarge' | 'iconSizeMedium' | 'iconSizeSmall' | 'label' | 'outlined' | 'outlinedPrimary' | 'outlinedSecondary' | 'outlinedSizeLarge' | 'outlinedSizeSmall' | 'sizeLarge' | 'sizeSmall' | 'startIcon' | 'text' | 'textPrimary' | 'textSecondary' | 'textSizeLarge' | 'textSizeSmall'; export declare function ButtonStyles(theme: Theme): Styles; export declare const ButtonStyleSheetOptions: StyleSheetFactoryOptions; export declare class Button extends Ground implements OnChanges, OnInit { color: ColorProp; disabled: DisabledProp; disableElevation: DisableElevationProp; disableFocusRipple: DisableFocusRippleProp; disableRipple: DisableRippleProp; endIcon: EndIconProp; fullWidth: FullWidthProp; size: SizeProp; startIcon: StartIconProp; type: TypeProp; variant: VariantProp; endIconClasses: string; startIconClasses: string; ngOnInit(): void; ngOnChanges(): void; prepareComponent(): void; composeClasses(): void; composeEndIconClasses(): void; composeStartIconClasses(): void; } export {};