export type LabelProvider = (item: T) => MultiLangText | undefined; export type KeyProvider = (item: T) => string | undefined; export type EnabledItemProvider = (item: T) => boolean; export type IconProvider = (item: T) => string | undefined; export type TooltipProvider = (item: T) => MultiLangText | undefined; export type LocaleName = string; export type TimeZone = string; export type DateResolution = 'DAY' | 'HOUR' | 'MINUTE_30' | 'MINUTE_10' | 'MINUTE' | 'SECOND'; export type DisplayDateResolution = 'DAY' | 'MINUTE' | 'SECOND'; /** * {ko:'버튼', en:'Button'} 처럼, 언어코드별로 텍스트를 갖고있는 타입 */ export type MultiLangString = Record; /** * texts_ko.json, texts_en.json 등에서 관리되는, key 와 message 를 갖고 있는 타입 */ export type MultiLangMessage = { key: string; args?: unknown[]; locale?: LocaleName; }; /** * string, MultiLangString, MultiLangMessage 를 모두 포괄하는 타입. * 각종 caption, label 등을 받을 때에는 MultiLangText 로 받으면 된다. */ export type MultiLangText = string | MultiLangString | MultiLangMessage; /** * MultiLangString 과 MultiLangMessage 은 모두 object 타입이므로, 이를 구분하는 것이 애매한데, * `key` 속성이 있으면 MultiLangMessage 로 판단한다. * @param text */ export declare const isMultiLangMessage: (text: MultiLangText) => boolean; /** * 언어별 ImageFile 을 가지는 타입 */ export type MultiLangStoredFile = Record; /** * BSTextInput 등의 prefix, suffix 타입 */ export type PrefixSuffix = { type: 'text' | 'font-icon' | 'image-url'; value: MultiLangText; }; /** * 'KRW', 'USD', 'JPY' 등의 화폐 단위 */ export type CurrencyCode = string; export type Money = { amount?: number; currency: CurrencyCode; }; export type Name = { name1?: string; name2?: string; name3?: string; name4?: string; }; export declare const isNameEmpty: (name?: Name) => boolean; export declare const serializeName: (name?: Name) => string; export type Tel = { countryNo?: string; phoneNo?: string; }; export declare const serializeTel: (tel?: Tel, showCountryNo?: boolean) => string; export type Address = { countryCode?: string; zipCode?: string; address1?: string; address2?: string; address3?: string; address4?: string; address5?: string; }; export declare const serializeAddress: (address?: Address) => string; export type StoredFile = { fileUrl?: string; mediaType?: 'Image' | 'Video' | 'Youtube' | 'Unknown'; thumbnailUrl?: string; altText?: string; width?: number; height?: number; imageNo?: number; file?: File; thumbnailFile?: File; }; export type TelCountry = { code: string; name: MultiLangText; dialNo?: string; }; export type AddressCountry = { code: string; name: MultiLangText; }; export declare class IllegalAccessError { }