import * as _angular_core from '@angular/core'; import { EnvironmentProviders, OnDestroy, ElementRef, TemplateRef, OnInit } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; import { AnimationOptions } from 'ngx-lottie'; import { Highlightable } from '@angular/cdk/a11y'; import * as _camp2gether_c2g_ui from '@camp2gether/c2g-ui'; declare class C2gUi { static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface C2gIconsOptions { /** * Which Material Icons font variants to register. * Defaults to all four variants. */ variants?: Array<'filled' | 'outlined' | 'round' | 'sharp'>; } /** * Registers Material Icons font variants with MatIconRegistry. * * Add to your app config: * ```ts * providers: [provideC2gIcons()] * ``` * * Then use in templates: * ```html * hiking * map * star * ``` * * The consuming app must load the font CSS — either via Google Fonts or self-hosted: * ```html * * ``` */ declare function provideC2gIcons(options?: C2gIconsOptions): EnvironmentProviders; type C2gAvatarSize = 'sm' | 'md' | 'lg'; type C2gAvatarStatusTone = 'none' | 'neutral' | 'success' | 'danger' | 'muted' | 'custom'; interface C2gAvatarBadge { icon?: string; text?: string; tone?: C2gAvatarStatusTone; backgroundColor?: string; color?: string; ariaLabel?: string; } declare class AvatarComponent { readonly name: _angular_core.InputSignal; readonly initials: _angular_core.InputSignal; readonly imageUrl: _angular_core.InputSignal; readonly ariaLabel: _angular_core.InputSignal; readonly size: _angular_core.InputSignal; readonly backgroundColor: _angular_core.InputSignal; readonly textColor: _angular_core.InputSignal; readonly ringTone: _angular_core.InputSignal; readonly ringColor: _angular_core.InputSignal; readonly clickable: _angular_core.InputSignal; readonly disabled: _angular_core.InputSignal; readonly badge: _angular_core.InputSignal; readonly avatarClick: _angular_core.OutputEmitterRef; readonly resolvedInitials: _angular_core.Signal; readonly resolvedAriaLabel: _angular_core.Signal; readonly hasImage: _angular_core.Signal; readonly ringStyle: _angular_core.Signal; readonly badgeBackground: _angular_core.Signal; readonly badgeColor: _angular_core.Signal; onAvatarClick(): void; onAvatarKeydown(event: KeyboardEvent): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'destructive' | 'icon' | 'outlined' | 'text' | 'elevated' | 'tonal' | 'fab' | 'fab-mini' | 'chip'; type ButtonSize = 'sm' | 'md' | 'lg'; type IconPosition = 'start' | 'end'; declare class ButtonComponent { readonly variant: _angular_core.InputSignal; readonly size: _angular_core.InputSignal; readonly disabled: _angular_core.InputSignal; readonly loading: _angular_core.InputSignal; readonly icon: _angular_core.InputSignal; readonly iconPosition: _angular_core.InputSignal; readonly iconOnly: _angular_core.InputSignal; readonly bordered: _angular_core.InputSignal; readonly ariaLabel: _angular_core.InputSignal; readonly loadingAriaLabel: _angular_core.InputSignal; readonly type: _angular_core.InputSignal<"button" | "submit" | "reset">; readonly badge: _angular_core.InputSignal; readonly active: _angular_core.InputSignal; readonly iconSize: _angular_core.InputSignal; readonly iconColor: _angular_core.InputSignal; readonly clicked: _angular_core.OutputEmitterRef; readonly isInteractionDisabled: _angular_core.Signal; readonly showLeadingSpinner: _angular_core.Signal; readonly showTrailingSpinner: _angular_core.Signal; readonly hasIcon: _angular_core.Signal; readonly showLeadingIcon: _angular_core.Signal; readonly showTrailingIcon: _angular_core.Signal; readonly computedAriaLabel: _angular_core.Signal; readonly buttonClasses: _angular_core.Signal; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } type BadgeTone = 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger'; type BadgeVariant = 'solid' | 'subtle' | 'outline'; type BadgeSize = 'sm' | 'md'; declare class BadgeComponent { readonly value: _angular_core.InputSignal; readonly tone: _angular_core.InputSignal; readonly variant: _angular_core.InputSignal; readonly size: _angular_core.InputSignal; readonly max: _angular_core.InputSignal; readonly dot: _angular_core.InputSignal; readonly dotOnly: _angular_core.InputSignal; readonly dotRing: _angular_core.InputSignal; readonly dotPulse: _angular_core.InputSignal; readonly dotColor: _angular_core.InputSignal; readonly ariaLabel: _angular_core.InputSignal; readonly resolvedAriaLabel: _angular_core.Signal; readonly content: _angular_core.Signal; readonly classes: _angular_core.Signal; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } type ChipTone = 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger'; declare class ChipComponent { readonly label: _angular_core.InputSignal; readonly tone: _angular_core.InputSignal; readonly selected: _angular_core.InputSignal; readonly disabled: _angular_core.InputSignal; readonly removable: _angular_core.InputSignal; readonly ariaLabel: _angular_core.InputSignal; readonly removeAriaLabel: _angular_core.InputSignal; readonly icon: _angular_core.InputSignal; readonly iconAriaLabel: _angular_core.InputSignal; readonly iconFontSet: _angular_core.InputSignal; readonly iconFontIcon: _angular_core.InputSignal; readonly selectedChange: _angular_core.OutputEmitterRef; readonly removed: _angular_core.OutputEmitterRef; readonly isSelected: _angular_core.WritableSignal; readonly chipClasses: _angular_core.Signal; constructor(); toggleSelected(): void; remove(event: Event): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class CheckboxComponent implements ControlValueAccessor { readonly id: _angular_core.InputSignal; readonly label: _angular_core.InputSignal; readonly hint: _angular_core.InputSignal; readonly disabled: _angular_core.InputSignal; readonly checkedChange: _angular_core.OutputEmitterRef; readonly checked: _angular_core.WritableSignal; readonly cvaDisabled: _angular_core.WritableSignal; private readonly generatedId; readonly checkboxId: _angular_core.Signal; readonly hintId: _angular_core.Signal; readonly describedBy: _angular_core.Signal; readonly isDisabled: _angular_core.Signal; private onChange; private onTouched; writeValue(value: boolean | null): void; registerOnChange(fn: (value: boolean) => void): void; registerOnTouched(fn: () => void): void; setDisabledState(isDisabled: boolean): void; onInput(event: Event): void; onBlur(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } type C2gLoaderSize = 'sm' | 'md' | 'lg'; type C2gLoaderTone = 'primary' | 'neutral' | 'inverse'; declare class LoaderComponent { readonly size: _angular_core.InputSignal; readonly tone: _angular_core.InputSignal; readonly label: _angular_core.InputSignal; readonly showLabel: _angular_core.InputSignal; readonly inline: _angular_core.InputSignal; readonly ariaLabel: _angular_core.Signal; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare const C2G_LOTTIE_PRESET_OPTIONS: readonly ["beach", "camping", "car", "cat-love", "checklist", "coffee-time", "car-driving-landscape", "error-404", "fishing", "mountain-search", "planning", "share", "summer-camp", "thinking", "walking-orange", "walking-avocado", "weather-partly-cloudy"]; type C2gLottieLoaderPreset = (typeof C2G_LOTTIE_PRESET_OPTIONS)[number]; type C2gLottieLoaderPresetMode = 'embedded' | 'path'; declare const C2G_LOTTIE_PRESET_PATHS: Record; declare function loadC2gLottiePresetData(preset: C2gLottieLoaderPreset): Promise; declare class LottieLoaderComponent { readonly preset: _angular_core.InputSignal<"beach" | "camping" | "car" | "cat-love" | "checklist" | "coffee-time" | "car-driving-landscape" | "error-404" | "fishing" | "mountain-search" | "planning" | "share" | "summer-camp" | "thinking" | "walking-orange" | "walking-avocado" | "weather-partly-cloudy">; readonly presetMode: _angular_core.InputSignal; readonly animationPath: _angular_core.InputSignal; readonly animationData: _angular_core.InputSignal; readonly loop: _angular_core.InputSignal; readonly autoplay: _angular_core.InputSignal; readonly width: _angular_core.InputSignal; readonly height: _angular_core.InputSignal; readonly label: _angular_core.InputSignal; readonly showLabel: _angular_core.InputSignal; readonly ariaLabel: _angular_core.Signal; private readonly lazyPresetData; readonly hasRenderableAnimation: _angular_core.Signal; constructor(); private cloneAnimationData; readonly options: _angular_core.Signal; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } type C2gSkeletonVariant = 'text' | 'block' | 'avatar'; declare class SkeletonComponent { readonly variant: _angular_core.InputSignal; readonly width: _angular_core.InputSignal; readonly height: _angular_core.InputSignal; readonly radius: _angular_core.InputSignal; readonly animated: _angular_core.InputSignal; readonly resolvedWidth: _angular_core.Signal; readonly resolvedHeight: _angular_core.Signal; readonly resolvedRadius: _angular_core.Signal; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } type C2gAlertTone = 'info' | 'success' | 'warning' | 'danger'; type C2gAlertVariant = 'soft' | 'solid' | 'outline'; declare class AlertComponent { readonly tone: _angular_core.InputSignal; readonly variant: _angular_core.InputSignal; readonly title: _angular_core.InputSignal; readonly message: _angular_core.InputSignal; readonly open: _angular_core.InputSignal; readonly dismissible: _angular_core.InputSignal; readonly closeLabel: _angular_core.InputSignal; readonly dismissed: _angular_core.OutputEmitterRef; readonly internalVisible: _angular_core.WritableSignal; readonly visible: _angular_core.Signal; readonly liveRole: _angular_core.Signal<"alert" | "status">; readonly ariaLive: _angular_core.Signal<"assertive" | "polite">; readonly iconSymbol: _angular_core.Signal<"v" | "!" | "x" | "i">; dismiss(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } type C2gProgressTone = 'primary' | 'success' | 'warning' | 'danger'; type C2gProgressSize = 'sm' | 'md' | 'lg'; declare class ProgressComponent { readonly value: _angular_core.InputSignal; readonly max: _angular_core.InputSignal; readonly size: _angular_core.InputSignal; readonly tone: _angular_core.InputSignal; readonly label: _angular_core.InputSignal; readonly ariaLabel: _angular_core.InputSignal; readonly showLabel: _angular_core.InputSignal; readonly striped: _angular_core.InputSignal; readonly animated: _angular_core.InputSignal; readonly indeterminate: _angular_core.InputSignal; readonly safeMax: _angular_core.Signal; readonly clampedValue: _angular_core.Signal; readonly percent: _angular_core.Signal; readonly percentLabel: _angular_core.Signal; readonly resolvedAriaLabel: _angular_core.Signal; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class InputComponent implements ControlValueAccessor { readonly label: _angular_core.InputSignal; readonly hint: _angular_core.InputSignal; readonly error: _angular_core.InputSignal; readonly placeholder: _angular_core.InputSignal; readonly prefix: _angular_core.InputSignal; readonly suffix: _angular_core.InputSignal; readonly loading: _angular_core.InputSignal; readonly compact: _angular_core.InputSignal; readonly disabled: _angular_core.InputSignal; readonly required: _angular_core.InputSignal; readonly maxLength: _angular_core.InputSignal; readonly id: _angular_core.InputSignal; readonly type: _angular_core.InputSignal<"text" | "email" | "password" | "search" | "tel" | "url">; readonly size: _angular_core.InputSignal<"sm" | "md">; readonly valueChanged: _angular_core.OutputEmitterRef; readonly value: _angular_core.WritableSignal; readonly cvaDisabled: _angular_core.WritableSignal; private readonly generatedId; readonly inputId: _angular_core.Signal; readonly hintId: _angular_core.Signal; readonly errorId: _angular_core.Signal; readonly counterId: _angular_core.Signal; readonly describedBy: _angular_core.Signal; readonly valueLength: _angular_core.Signal; readonly showCounter: _angular_core.Signal; readonly isDisabled: _angular_core.Signal; private onChange; private onTouched; writeValue(value: string | null): void; registerOnChange(fn: (value: string) => void): void; registerOnTouched(fn: () => void): void; setDisabledState(isDisabled: boolean): void; onInput(event: Event): void; onBlur(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface RadioOption { value: T; label: string; hint?: string; disabled?: boolean; } declare class RadioGroupComponent implements ControlValueAccessor { readonly label: _angular_core.InputSignal; readonly hint: _angular_core.InputSignal; readonly disabled: _angular_core.InputSignal; readonly orientation: _angular_core.InputSignal<"horizontal" | "vertical">; readonly options: _angular_core.InputSignal[]>; readonly name: _angular_core.InputSignal; readonly valueChange: _angular_core.OutputEmitterRef; readonly value: _angular_core.WritableSignal; readonly cvaDisabled: _angular_core.WritableSignal; private readonly generatedName; readonly groupName: _angular_core.Signal; readonly isDisabled: _angular_core.Signal; private onChange; private onTouched; writeValue(value: T | null): void; registerOnChange(fn: (value: T) => void): void; registerOnTouched(fn: () => void): void; setDisabledState(isDisabled: boolean): void; isOptionDisabled(option: RadioOption): boolean; selectOption(next: T): void; onBlur(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "c2g-radio-group", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>; } interface SelectOption { value: T; label: string; disabled?: boolean; } type SelectValue = string | null; declare class SelectComponent implements ControlValueAccessor, OnDestroy { readonly label: _angular_core.InputSignal; readonly placeholder: _angular_core.InputSignal; readonly hint: _angular_core.InputSignal; readonly error: _angular_core.InputSignal; readonly options: _angular_core.InputSignal[]>; readonly disabled: _angular_core.InputSignal; readonly required: _angular_core.InputSignal; readonly compact: _angular_core.InputSignal; readonly id: _angular_core.InputSignal; readonly multiple: _angular_core.InputSignal; readonly valueChanged: _angular_core.OutputEmitterRef; readonly value: _angular_core.WritableSignal; readonly cvaDisabled: _angular_core.WritableSignal; readonly open: _angular_core.WritableSignal; readonly activeDescendant: _angular_core.WritableSignal; private readonly generatedId; readonly selectId: _angular_core.Signal; readonly panelId: _angular_core.Signal; readonly hintId: _angular_core.Signal; readonly errorId: _angular_core.Signal; readonly describedBy: _angular_core.Signal; readonly isDisabled: _angular_core.Signal; readonly displayValue: _angular_core.Signal; triggerRef: ElementRef; panelTpl: TemplateRef; private overlay; private vcr; private cdr; private overlayRef; private panelRef; private onChange; private onTouched; writeValue(value: T | null): void; registerOnChange(fn: (value: T | null) => void): void; registerOnTouched(fn: () => void): void; setDisabledState(isDisabled: boolean): void; toggle(): void; openPanel(): void; close(): void; onOptionSelected(value: T): void; onBlur(): void; onKeydown(event: KeyboardEvent): void; onDocEscape(): void; ngOnDestroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "c2g-select", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; }, { "valueChanged": "valueChanged"; }, never, never, true, never>; } declare class SelectOptionComponent implements Highlightable, OnInit { readonly value: _angular_core.InputSignal; readonly label: _angular_core.InputSignal; readonly disabledInput: _angular_core.InputSignal; /** Satisfies `Highlightable.disabled: boolean | undefined` */ get disabled(): boolean; readonly optionId: string; /** Set by the parent panel when this option matches the current value */ selected: boolean; _active: boolean; private cdr; private _elementRef; get element(): HTMLElement; ngOnInit(): void; setActiveStyles(): void; setInactiveStyles(): void; getLabel(): string; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "c2g-select-option", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>; } declare class SwitchComponent implements ControlValueAccessor { readonly id: _angular_core.InputSignal; readonly label: _angular_core.InputSignal; readonly hint: _angular_core.InputSignal; readonly disabled: _angular_core.InputSignal; readonly checkedChange: _angular_core.OutputEmitterRef; readonly checked: _angular_core.WritableSignal; readonly cvaDisabled: _angular_core.WritableSignal; private readonly generatedId; readonly switchId: _angular_core.Signal; readonly hintId: _angular_core.Signal; readonly describedBy: _angular_core.Signal; readonly isDisabled: _angular_core.Signal; private onChange; private onTouched; writeValue(value: boolean | null): void; registerOnChange(fn: (value: boolean) => void): void; registerOnTouched(fn: () => void): void; setDisabledState(isDisabled: boolean): void; toggle(): void; markTouched(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } type TagTone = 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger'; type TagVariant = 'subtle' | 'solid' | 'outline'; type TagSize = 'sm' | 'md'; declare class TagComponent { readonly label: _angular_core.InputSignal; readonly tone: _angular_core.InputSignal; readonly variant: _angular_core.InputSignal; readonly size: _angular_core.InputSignal; readonly dashed: _angular_core.InputSignal; readonly ariaLabel: _angular_core.InputSignal; readonly icon: _angular_core.InputSignal; readonly iconAriaLabel: _angular_core.InputSignal; readonly iconFontSet: _angular_core.InputSignal; readonly iconFontIcon: _angular_core.InputSignal; readonly classes: _angular_core.Signal; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class TextareaComponent implements ControlValueAccessor { readonly label: _angular_core.InputSignal; readonly hint: _angular_core.InputSignal; readonly error: _angular_core.InputSignal; readonly placeholder: _angular_core.InputSignal; readonly prefix: _angular_core.InputSignal; readonly suffix: _angular_core.InputSignal; readonly loading: _angular_core.InputSignal; readonly disabled: _angular_core.InputSignal; readonly required: _angular_core.InputSignal; readonly maxLength: _angular_core.InputSignal; readonly rows: _angular_core.InputSignal; readonly id: _angular_core.InputSignal; readonly valueChanged: _angular_core.OutputEmitterRef; readonly value: _angular_core.WritableSignal; readonly cvaDisabled: _angular_core.WritableSignal; private readonly generatedId; readonly textareaId: _angular_core.Signal; readonly hintId: _angular_core.Signal; readonly errorId: _angular_core.Signal; readonly counterId: _angular_core.Signal; readonly describedBy: _angular_core.Signal; readonly valueLength: _angular_core.Signal; readonly showCounter: _angular_core.Signal; readonly isDisabled: _angular_core.Signal; private onChange; private onTouched; writeValue(value: string | null): void; registerOnChange(fn: (value: string) => void): void; registerOnTouched(fn: () => void): void; setDisabledState(isDisabled: boolean): void; onInput(event: Event): void; onBlur(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } type ModalSize = 'sm' | 'md' | 'lg' | 'xl'; declare class ModalComponent { private readonly document; readonly open: _angular_core.InputSignal; readonly title: _angular_core.InputSignal; readonly size: _angular_core.InputSignal; readonly closable: _angular_core.InputSignal; readonly lockBodyScroll: _angular_core.InputSignal; readonly ariaLabel: _angular_core.InputSignal; readonly closed: _angular_core.OutputEmitterRef; readonly effectiveAriaLabel: _angular_core.Signal; readonly sizeClass: _angular_core.Signal; constructor(); close(): void; onBackdropClick(event: MouseEvent): void; onKeydown(event: KeyboardEvent): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } type C2gToastTone = 'success' | 'error' | 'warning' | 'info'; interface C2gToast { id: string; message: string; tone: C2gToastTone; duration?: number; action?: { label: string; callback: () => void; }; } declare class ToastService { readonly toasts: _angular_core.WritableSignal; private show; success(message: string, duration?: number): void; error(message: string, duration?: number): void; warning(message: string, duration?: number): void; info(message: string, duration?: number): void; withAction(message: string, tone: C2gToastTone, action: C2gToast['action']): void; dismiss(id: string): void; dismissAll(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class ToastContainerComponent { readonly toastService: ToastService; readonly toasts: _angular_core.WritableSignal<_camp2gether_c2g_ui.C2gToast[]>; dismiss(id: string): void; toneIcon(tone: string): string; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } type C2gConfirmTone = 'danger' | 'warning' | 'info'; interface C2gConfirmDialogData { title: string; message: string; tone?: C2gConfirmTone; confirmLabel?: string; cancelLabel?: string; icon?: string; } declare class ConfirmDialogComponent { readonly open: _angular_core.InputSignal; readonly data: _angular_core.InputSignal; readonly confirmed: _angular_core.OutputEmitterRef; readonly cancelled: _angular_core.OutputEmitterRef; readonly confirmLabel: _angular_core.Signal; readonly cancelLabel: _angular_core.Signal; readonly tone: _angular_core.Signal<_camp2gether_c2g_ui.C2gConfirmTone>; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface C2gDateRange { from: Date | null; to: Date | null; } interface CalendarDay { date: Date; currentMonth: boolean; today: boolean; inRange: boolean; isStart: boolean; isEnd: boolean; disabled: boolean; } declare class DateRangePickerComponent implements OnDestroy { readonly value: _angular_core.ModelSignal; readonly minDate: _angular_core.InputSignal; readonly maxDate: _angular_core.InputSignal; readonly placeholder: _angular_core.InputSignal; readonly rangeChanged: _angular_core.OutputEmitterRef; readonly open: _angular_core.WritableSignal; readonly viewDate: _angular_core.WritableSignal; readonly hoverDate: _angular_core.WritableSignal; readonly weekdays: string[]; readonly months: string[]; triggerRef: ElementRef; calendarTpl: TemplateRef; private overlay; private vcr; private overlayRef; readonly monthLabel: _angular_core.Signal; readonly days: _angular_core.Signal; readonly displayValue: _angular_core.Signal; toggleOpen(): void; openCalendar(): void; closeCalendar(): void; prevMonth(): void; nextMonth(): void; onDayClick(day: CalendarDay): void; onDayHover(day: CalendarDay): void; clearRange(): void; onEscape(): void; ngOnDestroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } type StepperVariant = 'dot' | 'progress'; declare class StepperComponent { /** Total number of steps in the wizard. */ readonly totalSteps: _angular_core.InputSignal; /** Zero-based index of the current active step. */ readonly currentStep: _angular_core.InputSignal; /** * Visual variant: * - `dot` — animated dot row in the header (onboarding style) * - `progress` — progress bar only, no dot row */ readonly variant: _angular_core.InputSignal; /** Whether to render the footer navigation (back / next / finish). */ readonly hideFooter: _angular_core.InputSignal; /** Whether to show the step-count label (e.g. "2 of 5"). */ readonly showStepLabel: _angular_core.InputSignal; /** * Whether to also render a `c2g-progress` bar below the header. * When `variant` is `'progress'`, a bar is always rendered. * For `'dot'` variant, set this to `true` to render both a dot row and a bar. */ readonly showProgressBar: _angular_core.InputSignal; /** Whether to show the close/skip icon button in the header. */ readonly showClose: _angular_core.InputSignal; /** Label for the "Back" button. */ readonly backLabel: _angular_core.InputSignal; /** Label for the "Next" button. */ readonly nextLabel: _angular_core.InputSignal; /** Label for the "Finish" button on the last step. */ readonly finishLabel: _angular_core.InputSignal; /** * Pre-formatted step label string (e.g. "Schritt 2 von 5"). * When empty the component renders "Step {n} of {total}" using default logic. */ readonly stepLabelText: _angular_core.InputSignal; /** Whether the user can advance to the next step. */ readonly canAdvance: _angular_core.InputSignal; /** Accessible label for the host group element. */ readonly ariaLabel: _angular_core.InputSignal; /** Accessible label for the close/skip button. */ readonly closeAriaLabel: _angular_core.InputSignal; /** Emitted when the user clicks the "Next" button. */ readonly next: _angular_core.OutputEmitterRef; /** Emitted when the user clicks the "Back" button. */ readonly back: _angular_core.OutputEmitterRef; /** Emitted when the user clicks the "Finish" button on the last step. */ readonly finish: _angular_core.OutputEmitterRef; /** Emitted when the user clicks the close/skip button. */ readonly closed: _angular_core.OutputEmitterRef; /** Array of zero-based step indices for `@for` rendering. */ readonly stepIndices: _angular_core.Signal; readonly isFirst: _angular_core.Signal; readonly isLast: _angular_core.Signal; readonly stepLabel: _angular_core.Signal; readonly progressAriaLabel: _angular_core.Signal; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface PackingGap { category: string; severity: 'critical' | 'warning' | 'info'; message: string; suggested_items?: string[]; } declare class PackingGapBannerComponent { readonly gaps: _angular_core.InputSignal; readonly expanded: _angular_core.WritableSignal; readonly criticalCount: _angular_core.Signal; readonly hasCritical: _angular_core.Signal; readonly hasGaps: _angular_core.Signal; toggle(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface C2gDropdownMenuItem { id: string; label: string; icon?: string; danger?: boolean; disabled?: boolean; dividerBefore?: boolean; } declare class DropdownMenuComponent implements OnDestroy { readonly items: _angular_core.InputSignal; readonly triggerLabel: _angular_core.InputSignal; readonly triggerIcon: _angular_core.InputSignal; readonly alignEnd: _angular_core.InputSignal; readonly itemSelected: _angular_core.OutputEmitterRef; readonly open: _angular_core.WritableSignal; triggerRef: ElementRef; menuTpl: TemplateRef; private overlay; private vcr; private overlayRef; toggle(): void; openMenu(): void; close(): void; selectItem(item: C2gDropdownMenuItem): void; onEscape(): void; ngOnDestroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } type PopupAlign = 'start' | 'end'; type PopupPosition = 'bottom' | 'top'; declare class PopupComponent implements OnDestroy { readonly align: _angular_core.InputSignal; readonly position: _angular_core.InputSignal; readonly minWidth: _angular_core.InputSignal; readonly maxWidth: _angular_core.InputSignal; readonly opened: _angular_core.OutputEmitterRef; readonly closed: _angular_core.OutputEmitterRef; readonly open: _angular_core.WritableSignal; private triggerRef; private panelTpl; private readonly overlay; private readonly vcr; private overlayRef; toggle(): void; openPanel(): void; closePanel(): void; onEscape(): void; ngOnDestroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface C2gWeatherDay { date: string; icon: string; description: string; temperature: { min: number; max: number; }; } declare function resolveIcon(icon: string): string; declare class WeatherWidgetComponent { readonly currentDay: _angular_core.InputSignal; readonly forecastSlots: _angular_core.InputSignal; readonly destination: _angular_core.InputSignal; readonly icon: _angular_core.Signal; resolveIcon: typeof resolveIcon; slotLabel(index: number, total: number): string; shortDate(date: string): string; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface C2gWeatherSnippet { icon: string; temp: number; } declare class C2gDatePresetCardComponent { readonly icon: _angular_core.InputSignal; readonly label: _angular_core.InputSignal; readonly dateRange: _angular_core.InputSignal; readonly weather: _angular_core.InputSignal; readonly disabled: _angular_core.InputSignal; readonly cardClicked: _angular_core.OutputEmitterRef; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } export { AlertComponent, AvatarComponent, BadgeComponent, ButtonComponent, C2G_LOTTIE_PRESET_OPTIONS, C2G_LOTTIE_PRESET_PATHS, C2gDatePresetCardComponent, C2gUi, CheckboxComponent, ChipComponent, ConfirmDialogComponent, DateRangePickerComponent, DropdownMenuComponent, InputComponent, LoaderComponent, LottieLoaderComponent, ModalComponent, PackingGapBannerComponent, PopupComponent, ProgressComponent, RadioGroupComponent, SelectComponent, SelectOptionComponent, SkeletonComponent, StepperComponent, SwitchComponent, TagComponent, TextareaComponent, ToastContainerComponent, ToastService, WeatherWidgetComponent, loadC2gLottiePresetData, provideC2gIcons }; export type { BadgeSize, BadgeTone, BadgeVariant, ButtonSize, ButtonVariant, C2gAlertTone, C2gAlertVariant, C2gAvatarBadge, C2gAvatarSize, C2gAvatarStatusTone, C2gConfirmDialogData, C2gConfirmTone, C2gDateRange, C2gDropdownMenuItem, C2gIconsOptions, C2gLoaderSize, C2gLoaderTone, C2gLottieLoaderPreset, C2gLottieLoaderPresetMode, C2gProgressSize, C2gProgressTone, C2gSkeletonVariant, C2gToast, C2gToastTone, C2gWeatherDay, C2gWeatherSnippet, ChipTone, IconPosition, ModalSize, PackingGap, PopupAlign, PopupPosition, RadioOption, SelectOption, SelectValue, StepperVariant, TagSize, TagTone, TagVariant };