import { CSSResultArray, PropertyValues, TemplateResult } from 'lit'; import { PendingStateController } from '../../utils/reactive-controllers/pending-state'; import { LuzmoButtonBase } from './button-base'; export type ButtonStaticColors = 'white' | 'black'; export type ButtonVariants = 'primary' | 'secondary' | 'negative' | 'positive' | ButtonStaticColors; export declare const validVariants: string[]; export declare const validStaticColors: string[]; export type ButtonTreatments = 'fill' | 'outline'; declare const LuzmoButton_base: typeof LuzmoButtonBase & { new (...args: any[]): import("../..").SizedElementInterface; prototype: import("../..").SizedElementInterface; }; /** * @element luzmo-button * * @slot - text label of the Button * @slot icon - The icon to use for Button * @fires change - Announces that the `value` of the element has changed * @attr size - The size of the select: `s`, `m`, `l` or `xl` * @attr disabled - Whether the button is disabled. */ export declare class LuzmoButton extends LuzmoButton_base { /** * @internal */ static get styles(): CSSResultArray; /** * @attr pending-label - The label to display when the button is in a pending state. * @default 'Pending' */ pendingLabel: string; /** * @attr pending - Whether the button should be displayed in a pending state. * @default false * Use this property to set the button into a pending state */ pending: boolean; /** * @internal * The controller that manages the pending state of the button. */ pendingStateController: PendingStateController; /** * Initializes the `PendingStateController` for the Button component. * The `PendingStateController` manages the pending state of the Button. */ constructor(); click(): void; /** * @attr variant - The visual variant to apply to this button. * The visual variant to apply to this button. */ get variant(): ButtonVariants; set variant(variant: ButtonVariants); /** * @internal * The visual variant to apply to this button. */ private _variant; /** * @attr static-color - The static color variant to use for this button. * The static color variant to use for this button. */ staticColor?: 'black' | 'white'; /** * @attr treatment - The visual treatment to apply to this button. * @default 'fill' * The visual treatment to apply to this button. */ treatment: ButtonTreatments; /** * @attr quiet - Style this button to be less obvious * @default false * Style this button to be less obvious */ set quiet(quiet: boolean); get quiet(): boolean; /** * @internal * Whether the button should be displayed in a quiet state */ private _quiet; /** * @attr no-wrap - Disables text wrapping within the button component's label. * @default false * Disables text wrapping within the button component's label. * Please note that this option is not a part of the design specification * and should be used carefully, with consideration of this overflow behavior * and the readability of the button's content. */ noWrap: boolean; protected firstUpdated(changes: PropertyValues): void; protected renderButton(): TemplateResult; } export {};