import * as _qualcomm_ui_angular_core_machine from '@qualcomm-ui/angular-core/machine'; import { BaseApiContextService } from '@qualcomm-ui/angular-core/machine'; import * as _qualcomm_ui_angular_button from '@qualcomm-ui/angular/button'; import * as _angular_core from '@angular/core'; import { OnInit, Signal } from '@angular/core'; import { LucideIconOrString } from '@qualcomm-ui/angular-core/lucide'; import { SignalifyInput, MaybeSignalInput } from '@qualcomm-ui/angular-core/signals'; import * as _qualcomm_ui_qds_core_button from '@qualcomm-ui/qds-core/button'; import { QdsButtonApi, QdsButtonApiProps, QdsButtonDensity, QdsButtonEmphasis, QdsButtonSize, QdsButtonVariant, QdsButtonGroupApiProps, QdsButtonGroupLayout, QdsIconButtonApi, QdsIconButtonApiProps, QdsIconButtonShape } from '@qualcomm-ui/qds-core/button'; import { Booleanish } from '@qualcomm-ui/utils/coercion'; import * as i1 from '@qualcomm-ui/angular/transitions'; import * as i4 from '@qualcomm-ui/angular/icon'; import { IconDirective } from '@qualcomm-ui/angular/icon'; declare class QdsButtonContextService extends BaseApiContextService { static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare const QDS_BUTTON_CONTEXT: _angular_core.InjectionToken<() => QdsButtonApi>; declare const useQdsButtonContext: (opts?: _qualcomm_ui_angular_core_machine.UseContextOpts | undefined) => Optional extends true ? (() => QdsButtonApi) | null : () => QdsButtonApi; declare const provideQdsButtonContext: () => _angular_core.Provider[]; declare class BaseButtonDirective implements SignalifyInput, OnInit { /** * The density of the button. Governs padding and height. * * @default 'default' */ readonly density: _angular_core.InputSignal; /** * Controls whether the component is interactive. When `true`, pointer/focus * events are blocked, and the component is visually dimmed. * * @default false */ readonly disabled: _angular_core.InputSignalWithTransform; /** * The variant of the button. * * @default 'neutral' */ readonly emphasis: _angular_core.InputSignal; /** * The size of the component and its icons. * * @default 'md' */ readonly size: _angular_core.InputSignal; /** * {@link https://lucide.dev/icons lucide-angular} icon, positioned before the label. * * @remarks * To customize the element, provide it using the directive instead: * ```angular-html * * ``` */ readonly startIcon: _angular_core.InputSignal; /** * The variant of the button. * * @default 'fill' */ readonly variant: _angular_core.InputSignal; readonly buttonService: QdsButtonContextService; readonly buttonGroupContext: (() => _qualcomm_ui_angular_button.ButtonGroupContextValue) | null; protected readonly trackBindings: ((opts?: _qualcomm_ui_angular_core_machine.TrackBindingsConfig) => void) & { extendWith: (computedProps: () => _qualcomm_ui_angular_core_machine.Dict) => void; setDisabled: (disabled: boolean) => void; }; ngOnInit(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵdir: _angular_core.ɵɵDirectiveDeclaration; } interface ButtonGroupContextValue extends Pick { } declare class QdsButtonGroupContextService extends BaseApiContextService { static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare const QDS_BUTTON_GROUP_CONTEXT: _angular_core.InjectionToken<() => ButtonGroupContextValue>; declare const useQdsButtonGroupContext: (opts?: _qualcomm_ui_angular_core_machine.UseContextOpts | undefined) => Optional extends true ? (() => ButtonGroupContextValue) | null : () => ButtonGroupContextValue; declare const provideQdsButtonGroupContext: () => _angular_core.Provider[]; declare class ButtonGroupDirective implements SignalifyInput>, OnInit { /** * The density of the buttons in the group. Governs padding and height. * * @default 'default' */ readonly density: _angular_core.InputSignal; /** * Disables all buttons within the group. * * @default false */ readonly disabled: _angular_core.InputSignalWithTransform; /** * The emphasis of the buttons in the group. */ readonly emphasis: _angular_core.InputSignal; /** * The layout used to display the button group. * - `hug`: Content-sized; width matches the buttons only (default). * - `start`: Full width; buttons are aligned to the start edge. * - `end`: Full width; buttons are aligned to the end edge. * - `fill`: Full width; buttons share space evenly. * * @default 'hug' */ readonly layout: _angular_core.InputSignal; /** * The size of the buttons in the group. * * @default 'md' */ readonly size: _angular_core.InputSignal; /** * The variant of the buttons in the group. */ readonly variant: _angular_core.InputSignal; protected readonly qdsButtonGroupService: QdsButtonGroupContextService; protected readonly ariaLabel: string | null; protected readonly ariaLabelledBy: string | null; protected readonly trackBindings: ((opts?: _qualcomm_ui_angular_core_machine.TrackBindingsConfig) => void) & { extendWith: (computedProps: () => _qualcomm_ui_angular_core_machine.Dict) => void; setDisabled: (disabled: boolean) => void; }; ngOnInit(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵdir: _angular_core.ɵɵDirectiveDeclaration; } declare class ButtonDirective extends BaseButtonDirective implements OnInit { /** * {@link https://lucide.dev/icons lucide-angular} icon, positioned after the label. * * @remarks * To customize the element, provide it using the directive instead: * ```angular-html * * ``` */ readonly endIcon: _angular_core.InputSignal; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class QdsIconButtonContextService extends BaseApiContextService { static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare const QDS_ICON_BUTTON_CONTEXT: _angular_core.InjectionToken<() => QdsIconButtonApi>; declare const useQdsIconButtonContext: (opts?: _qualcomm_ui_angular_core_machine.UseContextOpts | undefined) => Optional extends true ? (() => QdsIconButtonApi) | null : () => QdsIconButtonApi; declare const provideQdsIconButtonContext: () => _angular_core.Provider[]; declare class IconButtonDirective implements SignalifyInput, OnInit { /** * The density of the button. Governs padding and height. * * @default 'default' */ readonly density: _angular_core.InputSignal; /** * Controls whether the component is interactive. When `true`, pointer/focus * events are blocked, and the component is visually dimmed. * * @default false */ readonly disabled: _angular_core.InputSignalWithTransform; /** * The variant of the button. * * @default 'neutral' */ readonly emphasis: _angular_core.InputSignal; /** * The size of the component and its icons. * * @default 'md' */ readonly size: _angular_core.InputSignal; /** * {@link https://lucide.dev/icons lucide-angular} icon. */ readonly icon: _angular_core.InputSignal; /** * Governs the shape of the icon button. * * @default 'square' */ readonly shape: _angular_core.InputSignal; /** * The variant of the button. * * @default 'fill' */ readonly variant: _angular_core.InputSignal; protected readonly trackBindings: ((opts?: _qualcomm_ui_angular_core_machine.TrackBindingsConfig) => void) & { extendWith: (computedProps: () => _qualcomm_ui_angular_core_machine.Dict) => void; setDisabled: (disabled: boolean) => void; }; protected readonly trackIconBindings: ((opts?: _qualcomm_ui_angular_core_machine.TrackBindingsConfig) => void) & { extendWith: (computedProps: () => _qualcomm_ui_angular_core_machine.Dict) => void; setDisabled: (disabled: boolean) => void; }; readonly iconProps: _angular_core.Signal<_qualcomm_ui_qds_core_button.QdsIconButtonIconBindings>; protected readonly iconButtonContext: QdsIconButtonContextService; readonly iconChild: _angular_core.Signal; ngOnInit(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class ButtonModule { static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵmod: _angular_core.ɵɵNgModuleDeclaration; static ɵinj: _angular_core.ɵɵInjectorDeclaration; } declare function useButtonApi({ density, disabled, emphasis, size, variant, }: Partial>): Signal; declare function useIconButtonApi({ density, disabled, emphasis, shape, size, variant, }: Partial>): Signal; export { BaseButtonDirective, ButtonDirective, ButtonGroupDirective, ButtonModule, IconButtonDirective, QDS_BUTTON_CONTEXT, QDS_BUTTON_GROUP_CONTEXT, QDS_ICON_BUTTON_CONTEXT, QdsButtonContextService, QdsButtonGroupContextService, QdsIconButtonContextService, provideQdsButtonContext, provideQdsButtonGroupContext, provideQdsIconButtonContext, useButtonApi, useIconButtonApi, useQdsButtonContext, useQdsButtonGroupContext, useQdsIconButtonContext }; export type { ButtonGroupContextValue }; //# sourceMappingURL=qualcomm-ui-angular-button.d.ts.map