import { CalendarPickerView, ClockPickerView } from '@mui/x-date-pickers'; import { MuiPickersAdapter } from '@mui/x-date-pickers/internals/models'; import { DatepickerValue, TimePickerValue } from '../../../../src/community/components/form/pickers'; type LabelBaseEntry = { description?: string; components?: string[]; }; type LabelStringEntry = LabelBaseEntry & { [TLang in TediLanguage]: string; }; type LabelFunctionEntry = LabelBaseEntry & { [TLang in TediLanguage]: LabelFunctionValue; }; type ExtractLabelArgs = TArgs extends { [TLang in TediLanguage]: (...args: infer Args) => string; } ? Args : never; type HasConsistentArgs = TArgs extends { [TLang in TediLanguage]: (...args: any[]) => string; } ? TArgs extends { et: (...args: infer ArgsEt) => string; en: (...args: infer ArgsEn) => string; ru: (...args: infer ArgsRu) => string; } ? ArgsEt extends ArgsEn ? ArgsEn extends ArgsRu ? ArgsRu extends ArgsEt ? true : false : false : false : false : true; type TediValidatedLabels = { [TKey in keyof TRecord]: HasConsistentArgs extends true ? TRecord[TKey] extends { [TLang in TediLanguage]: string; } ? LabelStringEntry : TRecord[TKey] extends { [TLang in TediLanguage]: (...args: any[]) => string; } ? LabelFunctionEntry> : never : never; }; export type LabelFunctionValue = (...args: TArgs) => string; export type TediLanguage = 'et' | 'en' | 'ru'; export type TediLabelEntryRecord = { [TKey in keyof DefaultLabels]?: Partial; } & TediValidatedLabels; export type TediLabelValuesRecord = { [TKey in keyof DefaultLabels]?: DefaultLabels[TKey]['et']; } & { [TKey: string]: string | LabelFunctionValue; }; export declare const validateLabelRecord: >(map: TRecord) => TRecord; export declare const validateLabelValues: (map: TRecord) => TRecord; /** * Creates a map of default translations. * et, en and ru values must be of same type */ export declare const labelsMap: { 'tabs.more': { description: string; components: string[]; et: string; en: string; ru: string; }; close: { description: string; components: string[]; et: string; en: string; ru: string; }; open: { description: string; components: string[]; et: string; en: string; ru: string; }; remove: { description: string; components: string[]; et: string; en: string; ru: string; }; cancel: { description: string; components: string[]; et: string; en: string; ru: string; }; 'date-field.modal-title': { description: string; components: string[]; et: string; en: string; ru: string; }; 'date-field.modal-title-range': { description: string; components: string[]; et: string; en: string; ru: string; }; 'date-field.modal-title-multiple': { description: string; components: string[]; et: string; en: string; ru: string; }; 'date-field.cancel': { description: string; components: string[]; et: string; en: string; ru: string; }; 'date-field.confirm': { description: string; components: string[]; et: string; en: string; ru: string; }; 'time-field.modal-title': { description: string; components: string[]; et: string; en: string; ru: string; }; 'time-field.cancel': { description: string; components: string[]; et: string; en: string; ru: string; }; 'time-field.confirm': { description: string; components: string[]; et: string; en: string; ru: string; }; clear: { description: string; components: string[]; et: string; en: string; ru: string; }; 'filter.clear-selection': { description: string; components: string[]; et: string; en: string; ru: string; }; 'filter.select-all': { description: string; components: string[]; et: string; en: string; ru: string; }; search: { description: string; components: string[]; et: string; en: string; ru: string; }; required: { description: string; components: string[]; et: string; en: string; ru: string; }; 'button-group.selected': { description: string; components: string[]; et: string; en: string; ru: string; }; breadcrumbs: { description: string; components: string[]; et: string; en: string; ru: string; }; 'breadcrumbs.show-more': { description: string; components: string[]; et: string; en: string; ru: string; }; 'anchor.new-tab': { description: string; components: string[]; et: string; en: string; ru: string; }; carousel: { description: string; components: string[]; et: string; en: string; ru: string; }; 'carousel.slide': { description: string; components: string[]; et: (current: number, total: number) => string; en: (current: number, total: number) => string; ru: (current: number, total: number) => string; }; 'carousel.move-back': { description: string; components: string[]; et: string; en: string; ru: string; }; 'carousel.move-forward': { description: string; components: string[]; et: string; en: string; ru: string; }; 'carousel.show-slide': { description: string; components: string[]; et: (slide: number) => string; en: (slide: number) => string; ru: (slide: number) => string; }; 'header.toggle': { description: string; components: string[]; et: (isOpen: boolean) => "Sulge menüü" | "Ava menüü"; en: (isOpen: boolean) => "Close menu" | "Open menu"; ru: (isOpen: boolean) => "Закрыть меню" | "Открыть меню"; }; 'header.settings': { description: string; components: string[]; et: string; en: string; ru: string; }; 'header.select-lang': { description: string; components: string[]; et: string; en: string; ru: string; }; 'header.role-label': { description: string; components: string[]; et: string; en: string; ru: string; }; 'header.role-selection': { description: string; components: string[]; et: string; en: string; ru: string; }; 'header.role-selection.close': { description: string; components: string[]; et: string; en: string; ru: string; }; 'header.role-selection.search.label': { description: string; components: string[]; et: string; en: string; ru: string; }; 'header.role-selection.search.organizationLabel': { description: string; components: string[]; et: string; en: string; ru: string; }; 'header.role-selection.no-results': { description: string; components: string[]; et: string; en: string; ru: string; }; 'header.login': { description: string; components: string[]; et: string; en: string; ru: string; }; 'header.login.mobile': { description: string; components: string[]; et: string; en: string; ru: string; }; 'header.logout': { description: string; components: string[]; et: string; en: string; ru: string; }; 'header.logout.mobile': { description: string; components: string[]; et: string; en: string; ru: string; }; 'header.logo': { description: string; components: string[]; et: string; en: string; ru: string; }; 'header.search': { description: string; components: string[]; et: string; en: string; ru: string; }; 'header.profile': { description: string; components: string[]; et: string; en: string; ru: string; }; 'header.profile.mobile': { description: string; components: string[]; et: string; en: string; ru: string; }; 'file-upload.add': { description: string; components: string[]; et: string; en: string; ru: string; }; 'file-upload.accept': { description: string; components: string[]; et: string; en: string; ru: string; }; 'file-upload.max-size': { description: string; components: string[]; et: string; en: string; ru: string; }; 'file-upload.size-rejected': { description: string; components: string[]; et: (files: string) => string; en: (files: string) => string; ru: (files: string) => string; }; 'file-upload.extension-rejected': { description: string; components: string[]; et: (files: string) => string; en: (files: string) => string; ru: (files: string) => string; }; 'file-upload.failed': { description: string; components: string[]; et: string; en: string; ru: string; }; 'file-upload.success-added': { description: string; components: string[]; et: (count: string) => string; en: (count: string) => string; ru: (count: string) => string; }; 'file-upload.failed-some': { description: string; components: string[]; et: (files: string) => string; en: (files: string) => string; ru: (files: string) => string; }; 'file-dropzone.label': { description: string; components: string[]; et: string; en: string; ru: string; }; 'file-dropzone.no-file': { description: string; components: string[]; et: string; en: string; ru: string; }; 'file-dropzone.selected-files': { description: string; components: string[]; et: string; en: string; ru: string; }; 'file-dropzone.files-selected': { description: string; components: string[]; et: (files: number) => string; en: (files: number) => string; ru: (files: number) => string; }; 'modal.close': { description: string; components: string[]; et: string; en: string; ru: string; }; 'dateField.disabledDateError': { description: string; components: string[]; et: string; en: string; ru: string; }; 'dateTimeField.timeHeading': { description: string; components: string[]; et: string; en: string; ru: string; }; 'dateTimeField.selectTime': { description: string; components: string[]; et: string; en: string; ru: string; }; 'dateTimeField.back': { description: string; components: string[]; et: string; en: string; ru: string; }; 'select.loading': { description: string; components: string[]; et: string; en: string; ru: string; }; 'select.no-options': { description: string; components: string[]; et: string; en: string; ru: string; }; 'table.no-data': { description: string; components: string[]; et: string; en: string; ru: string; }; 'table.expand-row': { description: string; components: string[]; et: string; en: string; ru: string; }; 'table.collapse-row': { description: string; components: string[]; et: string; en: string; ru: string; }; 'table.filter-placeholder': { description: string; components: string[]; et: string; en: string; ru: string; }; 'table.filter-input': { description: string; components: string[]; et: (columnLabel?: string) => string; en: (columnLabel?: string) => string; ru: (columnLabel?: string) => string; }; 'table.row-details': { description: string; components: string[]; et: string; en: string; ru: string; }; 'table.drag-row': { description: string; components: string[]; et: string; en: string; ru: string; }; 'table.drag-column': { description: string; components: string[]; et: (columnLabel: string) => string; en: (columnLabel: string) => string; ru: (columnLabel: string) => string; }; 'table.reorder.pickup': { description: string; components: string[]; et: (columnLabel: string) => string; en: (columnLabel: string) => string; ru: (columnLabel: string) => string; }; 'table.reorder.move': { description: string; components: string[]; et: (columnLabel: string, position: number) => string; en: (columnLabel: string, position: number) => string; ru: (columnLabel: string, position: number) => string; }; 'table.reorder.drop': { description: string; components: string[]; et: (columnLabel: string, position: number) => string; en: (columnLabel: string, position: number) => string; ru: (columnLabel: string, position: number) => string; }; 'table.reorder.cancel': { description: string; components: string[]; et: string; en: string; ru: string; }; 'table.row-reorder.pickup': { description: string; components: string[]; et: (position: number) => string; en: (position: number) => string; ru: (position: number) => string; }; 'table.row-reorder.move': { description: string; components: string[]; et: (position: number) => string; en: (position: number) => string; ru: (position: number) => string; }; 'table.row-reorder.drop': { description: string; components: string[]; et: (position: number) => string; en: (position: number) => string; ru: (position: number) => string; }; 'table.row-reorder.cancel': { description: string; components: string[]; et: string; en: string; ru: string; }; 'table.columns': { description: string; components: string[]; et: string; en: string; ru: string; }; 'select.select-all': { description: string; components: string[]; et: string; en: string; ru: string; }; 'stepper.completed': { description: string; components: string[]; et: string; en: string; ru: string; }; 'stepper.not-completed': { description: string; components: string[]; et: string; en: string; ru: string; }; 'stepper.error': { description: string; components: string[]; et: string; en: string; ru: string; }; 'skeleton.loading': { description: string; components: string[]; et: string; en: string; ru: string; }; 'skeleton.loading-completed': { description: string; components: string[]; et: string; en: string; ru: string; }; 'spinner.loading': { description: string; components: string[]; et: string; en: string; ru: string; }; 'table.loading': { description: string; components: string[]; et: string; en: string; ru: string; }; 'table.empty': { description: string; components: string[]; et: string; en: string; ru: string; }; 'table.error': { description: string; components: string[]; et: string; en: string; ru: string; }; 'table.filter': { description: string; components: string[]; et: (columnLabel?: string) => string; en: (columnLabel?: string) => string; ru: (columnLabel?: string) => string; }; 'table.filter.select-all': { description: string; components: string[]; et: string; en: string; ru: string; }; 'table.filter.remove-all': { description: string; components: string[]; et: string; en: string; ru: string; }; 'table.filter.no-options': { description: string; components: string[]; et: string; en: string; ru: string; }; 'table.filter.validation.no-spaces': { description: string; components: string[]; et: string; en: string; ru: string; }; 'table.filter.validation.min-length': { description: string; components: string[]; et: (count: number) => string; en: (count: number) => string; ru: (count: number) => string; }; 'table.filter.validation.to-before-from': { description: string; components: string[]; et: string; en: string; ru: string; }; 'table.filter.from': { description: string; components: string[]; et: string; en: string; ru: string; }; 'table.filter.to': { description: string; components: string[]; et: string; en: string; ru: string; }; 'table.toggle-sub-row': { description: string; components: string[]; et: (isExpaned: boolean) => "Sulge alamrida" | "Ava alamrida"; en: (isExpaned: boolean) => "Close subrow" | "Open subrow"; ru: (isExpaned: boolean) => "Закрыть подстроку" | "Открыть подстроку"; }; 'table.select-all': { description: string; components: string[]; et: (isSelected: boolean) => "Vali kõik" | "Eemalda kõik"; en: (isSelected: boolean) => "Select all" | "Deselect all"; ru: (isSelected: boolean) => "Выбрать все" | "Убрать выделение со всего"; }; 'table.select-row': { description: string; components: string[]; et: (isSelected: boolean) => "Eemalda rida" | "Vali rida"; en: (isSelected: boolean) => "Deselect row" | "Select row"; ru: (isSelected: boolean) => "Отменить выбор строки" | "Выбрать ряд"; }; 'table.sort': { description: string; components: string[]; et: (direction: "asc" | "desc" | false, columnLabel?: string) => string; en: (direction: "asc" | "desc" | false, columnLabel?: string) => string; ru: (direction: "asc" | "desc" | false, columnLabel?: string) => string; }; 'tooltip.icon-trigger': { description: string; components: string[]; et: string; en: string; ru: string; }; 'pagination.title': { description: string; components: string[]; et: string; en: string; ru: string; }; 'pagination.page': { description: string; components: string[]; et: (page: number, isCurrent?: boolean) => string; en: (page: number, isCurrent?: boolean) => string; ru: (page: number, isCurrent?: boolean) => string; }; 'pagination.prev-page': { description: string; components: string[]; et: string; en: string; ru: string; }; 'pagination.next-page': { description: string; components: string[]; et: string; en: string; ru: string; }; 'pagination.results': { description: string; components: string[]; et: (count?: number) => string; en: (count?: number) => string; ru: (count?: number) => string; }; 'pagination.page-size': { description: string; components: string[]; et: string; en: string; ru: string; }; 'pagination.page-status': { description: string; components: string[]; et: (page?: number, total?: number) => string; en: (page?: number, total?: number) => string; ru: (page?: number, total?: number) => string; }; 'table-of-contents.title': { description: string; components: string[]; et: string; en: string; ru: string; }; 'table-of-contents.valid': { description: string; components: string[]; et: (count: string | number) => string; en: (count: string | number) => string; ru: (count: string | number) => string; }; 'table-of-contents.invalid': { description: string; components: string[]; et: (count: string | number) => string; en: (count: string | number) => string; ru: (count: string | number) => string; }; 'table-of-contents.step-valid': { description: string; components: string[]; et: string; en: string; ru: string; }; 'table-of-contents.step-invalid': { description: string; components: string[]; et: string; en: string; ru: string; }; 'table-of-contents.step-incomplete': { description: string; components: string[]; et: string; en: string; ru: string; }; 'truncate.see-more': { description: string; components: string[]; et: string; en: string; ru: string; }; 'truncate.see-less': { description: string; components: string[]; et: string; en: string; ru: string; }; 'vertical-progress.edit': { description: string; components: string[]; et: string; en: string; ru: string; }; 'pickers.previousMonth': { description: string; components: string[]; et: string; en: string; ru: string; }; 'pickers.nextMonth': { description: string; components: string[]; et: string; en: string; ru: string; }; 'pickers.previousYear': { description: string; components: string[]; et: string; en: string; ru: string; }; 'pickers.nextYear': { description: string; components: string[]; et: string; en: string; ru: string; }; 'pickers.yearSelection': { components: string[]; et: string; en: string; ru: string; }; 'pickers.monthSelection': { components: string[]; et: string; en: string; ru: string; }; 'pickers.openPreviousView': { description: string; components: string[]; et: string; en: string; ru: string; }; 'pickers.openNextView': { description: string; components: string[]; et: string; en: string; ru: string; }; 'pickers.cancelButtonLabel': { description: string; components: string[]; et: string; en: string; ru: string; }; 'pickers.clearButtonLabel': { description: string; components: string[]; et: string; en: string; ru: string; }; 'pickers.okButtonLabel': { description: string; components: string[]; et: string; en: string; ru: string; }; 'pickers.todayButtonLabel': { description: string; components: string[]; et: string; en: string; ru: string; }; 'pickers.start': { description: string; components: string[]; et: string; en: string; ru: string; }; 'pickers.end': { description: string; components: string[]; et: string; en: string; ru: string; }; 'pickers.calendarViewSwitchingButtonAriaLabel': { description: string; components: string[]; et: (currentView: CalendarPickerView) => "Kalendri vaade on lahti, lülitu aasta vaatesse" | "Kuu vaade on lahti, lülitu aasta vaatesse" | "Aasta vaade on lahti, lülitu kalendri vaatesse"; en: (currentView: CalendarPickerView) => "Calendar view is open, switch to year view" | "Month view is open, switch to year view" | "Year view is open, switch to calendar view"; ru: (currentView: CalendarPickerView) => "Открыт календарный вид, переключиться на годовой вид" | "Открыт месячный вид, переключиться на месячный вид" | "Открыт годовой вид, переключиться на календарный вид"; }; 'pickers.inputModeToggleButtonAriaLabel': { description: string; components: string[]; et: (isKeyboardInputOpen: boolean, viewType: "calendar" | "clock") => string; en: (isKeyboardInputOpen: boolean, viewType: "calendar" | "clock") => string; ru: (isKeyboardInputOpen: boolean, viewType: "calendar" | "clock") => string; }; 'pickers.clockLabelText': { description: string; components: string[]; et: (view: ClockPickerView, time: TimePickerValue, adapter: MuiPickersAdapter) => string; en: (view: ClockPickerView, time: TimePickerValue, adapter: MuiPickersAdapter) => string; ru: (view: ClockPickerView, time: TimePickerValue, adapter: MuiPickersAdapter) => string; }; 'pickers.hoursClockNumberText': { description: string; components: string[]; et: (hours: string) => string; en: (hours: string) => string; ru: (hours: string) => string; }; 'pickers.minutesClockNumberText': { description: string; components: string[]; et: (hours: string) => string; en: (hours: string) => string; ru: (hours: string) => string; }; 'pickers.secondsClockNumberText': { description: string; components: string[]; et: (hours: string) => string; en: (hours: string) => string; ru: (hours: string) => string; }; 'pickers.openDatePickerDialogue': { description: string; components: string[]; et: (date: DatepickerValue, utils: MuiPickersAdapter) => string; en: (date: DatepickerValue, utils: MuiPickersAdapter) => string; ru: (date: DatepickerValue, utils: MuiPickersAdapter) => string; }; 'pickers.openTimePickerDialogue': { description: string; components: string[]; et: (date: TimePickerValue, utils: MuiPickersAdapter) => string; en: (date: TimePickerValue, utils: MuiPickersAdapter) => string; ru: (date: TimePickerValue, utils: MuiPickersAdapter) => string; }; 'pickers.timeTableLabel': { description: string; components: string[]; et: string; en: string; ru: string; }; 'pickers.dateTableLabel': { description: string; components: string[]; et: string; en: string; ru: string; }; 'pickers.datePickerDefaultToolbarTitle': { description: string; components: string[]; et: string; en: string; ru: string; }; 'pickers.dateTimePickerDefaultToolbarTitle': { description: string; components: string[]; et: string; en: string; ru: string; }; 'pickers.timePickerDefaultToolbarTitle': { description: string; components: string[]; et: string; en: string; ru: string; }; 'pickers.dateRangePickerDefaultToolbarTitle': { description: string; components: string[]; et: string; en: string; ru: string; }; 'footer.title': { description: string; components: string[]; et: string; en: string; ru: string; }; 'numberField.decrement': { description: string; components: string[]; et: (count: string | number) => string; en: (count: string | number) => string; ru: (count: string | number) => string; }; 'numberField.increment': { description: string; components: string[]; et: (count: string | number) => string; en: (count: string | number) => string; ru: (count: string | number) => string; }; 'numberField.quantityUpdated': { description: string; components: string[]; et: (count: string | number) => string; en: (count: string | number) => string; ru: (count: string | number) => string; }; 'sidenav.backToMainMenu': { description: string; components: string[]; et: string; en: string; ru: string; }; 'sidenav.backtoMenu': { description: string; components: string[]; et: string; en: string; ru: string; }; 'sidenav.toggleSubmenuChildren': { description: string; components: string[]; et: ({ isCollapsedInternal, children }: { isCollapsedInternal: boolean; children: React.ReactNode; }) => string; en: ({ isCollapsedInternal, children }: { isCollapsedInternal: boolean; children: React.ReactNode; }) => string; ru: ({ isCollapsedInternal, children }: { isCollapsedInternal: boolean; children: React.ReactNode; }) => string; }; 'sidenav.submenu': { description: string; components: string[]; et: string; en: string; ru: string; }; 'infoButton.moreInformation': { description: string; components: string[]; et: string; en: string; ru: string; }; 'timePicker.pickTime': { description: string; components: string[]; et: string; en: string; ru: string; }; }; type DefaultLabels = typeof labelsMap; export interface TediLabels extends DefaultLabels { } export {};