import { IconPickerCatalogSection, IconPickerEmits, IconPickerEntry, IconPickerFileChooser, IconPickerLabels, IconPickerProps, IconPickerSection, IconPickerShape } from './src/types';
import { default as TxIconPicker } from './src/TxIconPicker.vue';
import { default as TxIconPickerPanel } from './src/TxIconPickerPanel.vue';
/**
* TxIconPicker — pick an icon from bundled emoji, icon, brand and AI catalogs,
* or from a local file, and get back one identifier string.
*
* @example
* ```ts
* import { TxIconPicker } from '@talex-touch/tuffex'
*
* //
* // identifier: 'class:i-ri-rocket-line' | 'emoji:🚀' | 'file:/Users/me/a.png'
* ```
*
* The picker draws the bundled classes from its own path data, so it needs no
* icon CSS from the host. A picked class shown *outside* the picker is just a
* class, though: render it through `TxIcon` under a config whose
* `classGlyph` is `resolveIconPickerGlyph`, or safelist
* `ICON_CATALOG_CLASSES` in the host's utility-CSS engine.
*
* @public
*/
declare const IconPicker: {
new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins & Readonly<{
onChange?: ((value: string) => any) | undefined;
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
"onUpdate:shape"?: ((value: IconPickerShape) => any) | undefined;
"onFile-error"?: ((error: unknown) => any) | undefined;
}>, {
toggle: (value?: boolean) => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
change: (value: string) => any;
"update:modelValue": (value: string) => any;
"update:shape": (value: IconPickerShape) => any;
"file-error": (error: unknown) => any;
}, import('vue').PublicProps, {
disabled: boolean;
placeholder: string;
size: number;
modelValue: string;
inline: boolean;
shape: IconPickerShape;
labels: Partial;
accept: string;
sections: IconPickerSection[];
catalog: Partial>;
shapeSelectable: boolean;
fileChooser: IconPickerFileChooser;
}, false, {}, {}, Record, Record, string, {
panel: import('vue').CreateComponentPublicInstanceWithMixins>;
shapeSelectable: boolean;
labels: IconPickerLabels;
disabled: boolean;
accept: string;
hasFileChooser: boolean;
fileBusy: boolean;
}> & Readonly<{
onSelect?: ((entry: IconPickerEntry) => any) | undefined;
onClear?: (() => any) | undefined;
"onSelect-shape"?: ((shape: IconPickerShape) => any) | undefined;
"onChoose-file"?: (() => any) | undefined;
"onPick-file"?: ((file: File) => any) | undefined;
}>, {
resetQuery: () => void;
reveal: () => void;
focusSearch: () => Promise;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
select: (entry: IconPickerEntry) => any;
clear: () => any;
"select-shape": (shape: IconPickerShape) => any;
"choose-file": () => any;
"pick-file": (file: File) => any;
}, import('vue').PublicProps, {}, false, {}, {}, Record, Record, string, {
input: HTMLInputElement;
fileInput: HTMLInputElement;
}, HTMLDivElement, import('vue').ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly<{
modelValue: string;
shape: IconPickerShape;
sections: IconPickerSection[];
catalog?: Partial>;
shapeSelectable: boolean;
labels: IconPickerLabels;
disabled: boolean;
accept: string;
hasFileChooser: boolean;
fileBusy: boolean;
}> & Readonly<{
onSelect?: ((entry: IconPickerEntry) => any) | undefined;
onClear?: (() => any) | undefined;
"onSelect-shape"?: ((shape: IconPickerShape) => any) | undefined;
"onChoose-file"?: (() => any) | undefined;
"onPick-file"?: ((file: File) => any) | undefined;
}>, {
resetQuery: () => void;
reveal: () => void;
focusSearch: () => Promise;
}, {}, {}, {}, {}> | null;
trigger: HTMLButtonElement;
plate: SVGPathElement;
}, any, import('vue').ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly & Readonly<{
onChange?: ((value: string) => any) | undefined;
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
"onUpdate:shape"?: ((value: IconPickerShape) => any) | undefined;
"onFile-error"?: ((error: unknown) => any) | undefined;
}>, {
toggle: (value?: boolean) => void;
}, {}, {}, {}, {
disabled: boolean;
placeholder: string;
size: number;
modelValue: string;
inline: boolean;
shape: IconPickerShape;
labels: Partial;
accept: string;
sections: IconPickerSection[];
catalog: Partial>;
shapeSelectable: boolean;
fileChooser: IconPickerFileChooser;
}>;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
} & import('vue').ComponentOptionsBase & Readonly<{
onChange?: ((value: string) => any) | undefined;
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
"onUpdate:shape"?: ((value: IconPickerShape) => any) | undefined;
"onFile-error"?: ((error: unknown) => any) | undefined;
}>, {
toggle: (value?: boolean) => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
change: (value: string) => any;
"update:modelValue": (value: string) => any;
"update:shape": (value: IconPickerShape) => any;
"file-error": (error: unknown) => any;
}, string, {
disabled: boolean;
placeholder: string;
size: number;
modelValue: string;
inline: boolean;
shape: IconPickerShape;
labels: Partial;
accept: string;
sections: IconPickerSection[];
catalog: Partial>;
shapeSelectable: boolean;
fileChooser: IconPickerFileChooser;
}, {}, string, {}, Record, Record, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & import('vue').Plugin;
export { AI_CATALOG, BRAND_CATALOG, EMOJI_CATALOG, ICON_CATALOG, ICON_CATALOG_CLASSES, ICON_PICKER_CATEGORY_LABELS, } from './src/catalog';
export { loadIconPickerGlyphs, provideIconPickerGlyphs, resolveIconPickerGlyph } from './src/glyphs';
export { formatIconIdentifier, parseIconIdentifier } from './src/identifier';
export { ICON_PICKER_SHAPE_PATHS, ICON_PICKER_SHAPES, isIconPickerShape } from './src/shapes';
export { IconPicker, TxIconPicker, TxIconPickerPanel };
export type { IconPickerCatalogSection, IconPickerEmits, IconPickerEntry, IconPickerFileChooser, IconPickerLabels, IconPickerProps, IconPickerSection, IconPickerShape, };
export type TxIconPickerInstance = InstanceType;
export default IconPicker;