@procraft/widget-order
Version:
Order widget for landing
35 lines (34 loc) • 1.81 kB
TypeScript
import { CourseFragment } from '../interfaces/CourseFragment';
import { CourseSubKind, LangGender, LangRussianNoun } from '../modules/gql/generated/types';
import { LanguageCase } from './i18n';
export declare type CaseTranslationProvider = (languageCase?: LanguageCase) => string;
export declare type CourseSubKindPartial = {
subKind: CourseSubKind;
subKindLabel?: LangRussianNoun | null;
};
export declare type CourseSubKindPartialWithString = {
subKind: CourseSubKind;
subKindLabel?: LangRussianNoun | string | null;
};
export declare enum CourseKind {
Course = "Course",
Webinar = "Webinar",
Subscription = "Subscription",
Abonnement = "Abonnement"
}
export declare function getCaseTranslationProvider(translations: string[], cases: LanguageCase[]): CaseTranslationProvider;
export declare function getCourseSubKindCaseTranslationProvider(subKind: CourseSubKind): CaseTranslationProvider;
export declare function getCourseKindCaseTranslationProvider(kind: CourseKind): CaseTranslationProvider;
export declare function formatCourseSubKind(subKind: CourseSubKind, languageCase?: LanguageCase): string;
export declare function formatCourseSubKindLabel(course: CourseSubKindPartialWithString, languageCase?: LanguageCase): string;
export declare function formatCourseKind(kind: CourseKind, languageCase?: LanguageCase): string;
export declare function formatCourse(course: {
name: string;
kind: CourseKind;
subKind: CourseSubKind;
subKindLabel?: LangRussianNoun | string;
}): string;
export declare function courseSubKindGetGender(courseSubKindPartial: CourseSubKindPartial): LangGender;
export declare function formatFreeLabel(course: CourseFragment): string | null;
export declare const courseSubKindLabels: any;
export declare const courseKindLabels: any;