import { type FC, type HTMLAttributes } from 'react';
import { type VariantProps } from 'tailwind-variants';
import { type DecoratorsType } from '../../../hooks/useDecorators';
import type { Locale } from '../../../intl';
export type AbstractProps = {
narrow?: boolean;
localeMap: Partial>;
locale?: string;
defaultLocale?: string;
/** コンポーネント内の文言を変更するための関数を設定 */
decorators?: DecoratorsType;
/** 言語切替UIで言語を選択した時に発火するコールバック関数 */
onLanguageSelect?: (code: string) => void;
} & VariantProps;
type Props = AbstractProps & Omit, keyof AbstractProps>;
declare const DECORATOR_DEFAULT_TEXTS: {
readonly triggerLabel: "Language";
};
type DecoratorKeyTypes = 'checkIconAlt' | keyof typeof DECORATOR_DEFAULT_TEXTS;
declare const classNameGenerator: import("tailwind-variants").TVReturnType<{
invert: {
true: {
switchButton: string[];
};
};
enableNew: {
true: {
switchButton: string;
};
};
}, {
switchButton: string[];
languageItemsList: string[];
languageItem: string[];
languageButton: string[];
}, undefined, import("tailwind-variants/dist/config").TVConfig<{
invert: {
true: {
switchButton: string[];
};
};
enableNew: {
true: {
switchButton: string;
};
};
}, {
invert: {
true: {
switchButton: string[];
};
};
enableNew: {
true: {
switchButton: string;
};
};
}>, {
invert: {
true: {
switchButton: string[];
};
};
enableNew: {
true: {
switchButton: string;
};
};
}, {
switchButton: string[];
languageItemsList: string[];
languageItem: string[];
languageButton: string[];
}, import("tailwind-variants").TVReturnType<{
invert: {
true: {
switchButton: string[];
};
};
enableNew: {
true: {
switchButton: string;
};
};
}, {
switchButton: string[];
languageItemsList: string[];
languageItem: string[];
languageButton: string[];
}, undefined, import("tailwind-variants/dist/config").TVConfig<{
invert: {
true: {
switchButton: string[];
};
};
enableNew: {
true: {
switchButton: string;
};
};
}, {
invert: {
true: {
switchButton: string[];
};
};
enableNew: {
true: {
switchButton: string;
};
};
}>, unknown, unknown, undefined>>;
export declare const LanguageSwitcher: FC;
export {};