import { Address, AddressCountry, CurrencyCode, DateResolution, DisplayDateResolution, LocaleName, Money, MultiLangText, Tel, TelCountry, TimeZone } from '../model/CommonTypes'; import { Component } from 'vue'; import { Column, GridPreferenceStore } from '../component/grid/GridModel.ts'; import { DateRangePreset } from '../component/input/DateRangePresetModel.ts'; import { ToolButton } from '../component/richtext/RichTextModel.ts'; export type PopupComponentConfig = { container?: string | HTMLElement; hideOnScroll?: boolean; }; export type TelInputComponentConfig = { inputCount?: 1 | 3; showCountryCode?: boolean; countries?: TelCountry[]; requiredCountryNo?: boolean; }; export type NameInputComponentConfig = { inputCount: 1 | 2 | 3 | 4; widths?: string[]; captions?: MultiLangText[]; placeholders?: MultiLangText[]; lineBreak?: 1 | 2 | 3; }; export declare const NAME_INPUT_STYLE_DEFAULT: NameInputComponentConfig; export declare const NAME_INPUT_STYLE_2: NameInputComponentConfig; export declare const NAME_INPUT_STYLE_3: NameInputComponentConfig; export declare const NAME_INPUT_STYLE_JP: NameInputComponentConfig; export type AddressInputComponentConfig = { countries?: AddressCountry[]; defaultCountryConfig?: AddressCountryConfig; countryConfigs?: Record; }; export type AddressCountryConfig = { zipCodeButtonHandler?: (address?: Address) => Promise
; zipCodePosition?: 'before-input' | 'after-input'; addressInput?: number[]; widths?: string[]; disabled?: boolean[]; captions?: MultiLangText[]; placeholders?: MultiLangText[]; lineBreak?: 1 | 2 | 3 | 4 | 'all'; zipCodeCaption?: MultiLangText; addressCaptions?: MultiLangText[]; requiredZipCode?: boolean; requiredInput?: number[]; isEmpty?: (address?: Address) => boolean; }; export declare const ADDRESS_COUNTRY_CONFIGS: Record; export declare const ADDRESS_COUNTRY_CONFIG_DEFAULT: AddressCountryConfig; export declare const defaultAddressInputComponentConfig: AddressInputComponentConfig; export type GridComponentConfig = { defaultCellFormatter?: (column: Column, value: T) => string | T | null | undefined; }; export type GridLookupComponentConfig = { dateRangePresets?: DateRangePreset[]; dateFilterDateFormat?: string; dateFilterResolution?: DateResolution; }; export type RichTextComponentConfig = { toolButtons?: ToolButton[]; imageInsertModal?: Component; videoInsertModal?: Component; }; export declare const defaultRichTextComponentConfig: RichTextComponentConfig; export type UploadComponentConfig = { imageFileExt?: string[]; videoFileExt?: string[]; }; export declare const defaultUploadComponentConfig: UploadComponentConfig; export type TabSheetComponentConfig = { blockLeavingModifiedTab?: boolean; confirmLeavingModifiedTab?: boolean; }; export declare const defaultTabSheetComponentConfig: TabSheetComponentConfig; export type CalendarComponentConfig = { startYear?: string; endYear?: string; }; export type ComponentConfig = { popup?: PopupComponentConfig; telInput?: TelInputComponentConfig; nameInput?: NameInputComponentConfig; addressInput?: AddressInputComponentConfig; grid?: GridComponentConfig; gridLookup?: GridLookupComponentConfig; richText?: RichTextComponentConfig; upload?: UploadComponentConfig; tabSheet?: TabSheetComponentConfig; calendar?: CalendarComponentConfig; }; export type TimeZoneNameProvider = (tzId: string) => string; export type FileUrlResolver = (fileUrl?: string) => string | undefined; export type TelSerializer = (tel?: Tel, showCountryNo?: boolean) => string; export type AddressSerializer = (address?: Address) => string; export type MoneySerializer = (value?: Money) => string; declare class BlueseaConfig { locales: LocaleName[]; defaultLocale: LocaleName; currentLocale: LocaleName; dataLocales: LocaleName[]; currentDataLocale: LocaleName; defaultDataLocale: LocaleName; timeZone: TimeZone; displayTimeZones: TimeZone[]; allTimeZones: TimeZone[]; timeZoneNameProvider: TimeZoneNameProvider; dateFormat: string; dateFormatDay: string; dateFormatMinute: string; dateFormatSecond: string; minDateValue: string; maxDateValue: string; defaultCurrencyCode: CurrencyCode; maxFileSize: number; errorImageUrl?: string; blankImageUrl?: string; fileUrlResolver?: FileUrlResolver; gridPreferenceStore?: GridPreferenceStore; componentConfig: ComponentConfig; telSerializer?: TelSerializer; addressSerializer?: AddressSerializer; moneySerializer?: MoneySerializer; constructor(); configure(options: BlueseaConfigRaw): void; setLocales(locales: LocaleName[], defaultLocale: LocaleName, currentLocale: LocaleName): void; setCurrentLocale(locale?: LocaleName): void; setDataLocales(dataLocales: LocaleName[], currentDataLocale: LocaleName, defaultDataLocale?: LocaleName): void; setCurrentDataLocale(locale?: LocaleName): void; getValidDisplayTimeZones(): TimeZone[]; resolveDisplayDateFormat(format?: string | DisplayDateResolution): string; } export type BlueseaConfigRaw = { locales?: LocaleName[]; defaultLocale?: LocaleName; currentLocale?: LocaleName; dataLocales?: LocaleName[]; currentDataLocale?: LocaleName; defaultDataLocale?: LocaleName; timeZone?: TimeZone; displayTimeZones?: TimeZone[]; allTimeZones?: TimeZone[]; timeZoneNameProvider?: TimeZoneNameProvider; dateFormat?: string; dateFormatDay?: string; dateFormatMinute?: string; dateFormatSecond?: string; minDateValue?: string; maxDateValue?: string; defaultCurrencyCode?: CurrencyCode; fileUrlResolver?: FileUrlResolver; maxFileSize?: number; errorImageUrl?: string; blankImageUrl?: string; gridPreferenceStore?: GridPreferenceStore; componentConfig?: ComponentConfig; telSerializer?: TelSerializer; addressSerializer?: AddressSerializer; moneySerializer?: MoneySerializer; }; export declare const blueseaConfig: BlueseaConfig; export declare const configureBluesea: (options: BlueseaConfigRaw) => void; export {};