/** * ISOLATION FILE — Polymorphic SlotFunctionArguments engine * * Generic, component-agnostic namespace. Owns: * 1. All slot bucket definitions and the type → bucket composition mapping (engine internals) * 2. Generic engine exports (SlotFunctionArguments, PolymorphicSlotFunctionArguments) * * Does NOT own component-specific types (CalendarDaySlotArguments, slot overrides). * Those live in DSControlledDateTimePickerT, which uses this engine's generic exports * and provides its own TOverrides to create its Slots and PolymorphicSlots. */ export declare namespace ControlledDateTimePickerSlotEngine { export type ControlTypes = 'full-date-time' | 'date-time-inputs' | 'date-time-picker' | 'date-time-picker-controller-only' | 'full-date' | 'date-inputs' | 'date-picker' | 'date-picker-controller-only' | 'full-time' | 'time-inputs' | 'time-picker' | 'time-picker-controller-only'; type SlotsBucketRoot = { dsControlleddatetimepickerRoot: () => object; }; type SlotsBucketClearBtn = { dsControlleddatetimepickerClearBtn: () => object; }; type SlotsBucketDateInputs = { dsControlleddatetimepickerTimePickerMonthInput: () => object; dsControlleddatetimepickerTimePickerDayInput: () => object; dsControlleddatetimepickerTimePickerYearInput: () => object; }; type SlotsBucketTimeInputs = { dsControlleddatetimepickerTimePickerHourInput: () => object; dsControlleddatetimepickerTimePickerMinuteInput: () => object; dsControlleddatetimepickerTimePickerMeridiemInput: () => object; }; type SlotsBucketCalendarContent = { dsControlleddatetimepickerCalendarDay: () => object; dsControlleddatetimepickerCalendarHeaderLabel: () => object; dsControlleddatetimepickerCalendarHeaderButtons: () => object; dsControlleddatetimepickerCalendarHeaderWeeklyDayList: () => object; dsControlleddatetimepickerCalendarControllerWrapper: () => object; }; type SlotsBucketCalendarFooter = { dsControlleddatetimepickerCalendarContextFooter: () => object; }; type SlotsBucketCalendarPickerWrapper = { dsControlleddatetimepickerCalendarTriggerIcon: () => object; dsControlleddatetimepickerCalendarContextContentWrapper: () => object; }; type SlotsBucketTimewheelContent = { dsControlleddatetimepickerTimewheelTimeButton: () => object; dsControlleddatetimepickerTimewheelTimeChangeButton: () => object; dsControlleddatetimepickerTimewheelHeaderLabel: () => object; dsControlleddatetimepickerTimewheelControllerWrapper: () => object; }; type SlotsBucketTimewheelFooter = { dsControlleddatetimepickerTimewheelContextFooter: () => object; }; type SlotsBucketTimewheelPickerWrapper = { dsControlleddatetimepickerTimewheelTriggerIcon: () => object; dsControlleddatetimepickerTimewheelContextContentWrapper: () => object; }; type SlotsBucketCalendarTimewheelContent = { dsControlleddatetimepickerCalendarTimewheelControllerWrapper: () => object; }; type SlotsBucketCalendarTimewheelFooter = { dsControlleddatetimepickerCalendarTimewheelContextFooter: () => object; }; type SlotsBucketCalendarTimewheelPickerWrapper = { dsControlleddatetimepickerCalendarTimewheelTriggerIcon: () => object; dsControlleddatetimepickerCalendarTimewheelContextContentWrapper: () => object; }; type AllSlotsBase = SlotsBucketRoot & SlotsBucketClearBtn & SlotsBucketDateInputs & SlotsBucketTimeInputs & SlotsBucketCalendarContent & SlotsBucketCalendarFooter & SlotsBucketCalendarPickerWrapper & SlotsBucketTimewheelContent & SlotsBucketTimewheelFooter & SlotsBucketTimewheelPickerWrapper & SlotsBucketCalendarTimewheelContent & SlotsBucketCalendarTimewheelFooter & SlotsBucketCalendarTimewheelPickerWrapper; export type SlotOverrides = Partial<{ [K in keyof AllSlotsBase]: Function; }>; type ApplyOverrides = { [K in keyof TBuckets]: K extends keyof TOverrides ? NonNullable : TBuckets[K]; }; type ComposedBucketsFor = T extends 'full-date-time' ? SlotsBucketRoot & SlotsBucketDateInputs & SlotsBucketTimeInputs & SlotsBucketClearBtn & SlotsBucketCalendarContent & SlotsBucketTimewheelContent & SlotsBucketCalendarTimewheelContent & SlotsBucketCalendarTimewheelFooter & SlotsBucketCalendarTimewheelPickerWrapper : T extends 'date-time-inputs' ? SlotsBucketRoot & SlotsBucketDateInputs & SlotsBucketTimeInputs & SlotsBucketClearBtn : T extends 'date-time-picker' ? SlotsBucketRoot & SlotsBucketCalendarContent & SlotsBucketTimewheelContent & SlotsBucketCalendarTimewheelContent & SlotsBucketCalendarTimewheelFooter & SlotsBucketCalendarTimewheelPickerWrapper : T extends 'date-time-picker-controller-only' ? SlotsBucketRoot & SlotsBucketCalendarContent & SlotsBucketTimewheelContent & SlotsBucketCalendarTimewheelContent & SlotsBucketCalendarTimewheelFooter : T extends 'full-date' ? SlotsBucketRoot & SlotsBucketDateInputs & SlotsBucketClearBtn & SlotsBucketCalendarContent & SlotsBucketCalendarFooter & SlotsBucketCalendarPickerWrapper : T extends 'date-inputs' ? SlotsBucketRoot & SlotsBucketDateInputs & SlotsBucketClearBtn : T extends 'date-picker' ? SlotsBucketRoot & SlotsBucketCalendarContent & SlotsBucketCalendarFooter & SlotsBucketCalendarPickerWrapper : T extends 'date-picker-controller-only' ? SlotsBucketRoot & SlotsBucketCalendarContent & SlotsBucketCalendarFooter : T extends 'full-time' ? SlotsBucketRoot & SlotsBucketTimeInputs & SlotsBucketClearBtn & SlotsBucketTimewheelContent & SlotsBucketTimewheelFooter & SlotsBucketTimewheelPickerWrapper : T extends 'time-inputs' ? SlotsBucketRoot & SlotsBucketTimeInputs & SlotsBucketClearBtn : T extends 'time-picker' ? SlotsBucketRoot & SlotsBucketTimewheelContent & SlotsBucketTimewheelFooter & SlotsBucketTimewheelPickerWrapper : T extends 'time-picker-controller-only' ? SlotsBucketRoot & SlotsBucketTimewheelContent & SlotsBucketTimewheelFooter : never; export type SlotFunctionArguments> = ApplyOverrides, TOverrides>; export type PolymorphicSlotFunctionArguments> = { [K in keyof SlotFunctionArguments]?: object | SlotFunctionArguments[K]; }; export {}; }