import { SensitiveInputEmits, SensitiveInputLabels, SensitiveInputMode, SensitiveInputProps, SensitiveInputSize, SensitiveInputStatus } from './src/types';
import { default as TxSensitiveInput } from './src/TxSensitiveInput.vue';
/**
* TxSensitiveInput — a field for API keys, tokens and other secrets. The value
* is masked until the user asks for it, and a copy tab lets them take it
* without ever revealing it on screen.
*
* @example
* ```ts
* import { TxSensitiveInput } from '@talex-touch/tuffex'
*
* //
* ```
*
* Copying uses `navigator.clipboard` with a hidden-textarea fallback, so it
* works on insecure origins; a denied clipboard emits `copy-error` rather than
* failing silently.
*
* @public
*/
declare const SensitiveInput: {
new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins & Readonly<{
onMask?: (() => any) | undefined;
onCopy?: ((value: string) => any) | undefined;
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
onReveal?: (() => any) | undefined;
onCopyError?: ((error: unknown) => any) | undefined;
}>, {
focus: () => void;
blur: () => void | undefined;
reveal: () => void;
mask: () => void;
copy: () => Promise;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
mask: () => any;
copy: (value: string) => any;
"update:modelValue": (value: string) => any;
reveal: () => any;
copyError: (error: unknown) => any;
}, import('vue').PublicProps, {
label: string;
mask: string;
error: string;
required: boolean;
description: string;
disabled: boolean;
placeholder: string;
size: SensitiveInputSize;
modelValue: string;
readonly: boolean;
copyable: boolean;
copiedDuration: number;
}, false, {}, {}, Record, Record, string, {
containerRef: HTMLDivElement;
inputRef: HTMLInputElement;
}, any, import('vue').ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly & Readonly<{
onMask?: (() => any) | undefined;
onCopy?: ((value: string) => any) | undefined;
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
onReveal?: (() => any) | undefined;
onCopyError?: ((error: unknown) => any) | undefined;
}>, {
focus: () => void;
blur: () => void | undefined;
reveal: () => void;
mask: () => void;
copy: () => Promise;
}, {}, {}, {}, {
label: string;
mask: string;
error: string;
required: boolean;
description: string;
disabled: boolean;
placeholder: string;
size: SensitiveInputSize;
modelValue: string;
readonly: boolean;
copyable: boolean;
copiedDuration: number;
}>;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
} & import('vue').ComponentOptionsBase & Readonly<{
onMask?: (() => any) | undefined;
onCopy?: ((value: string) => any) | undefined;
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
onReveal?: (() => any) | undefined;
onCopyError?: ((error: unknown) => any) | undefined;
}>, {
focus: () => void;
blur: () => void | undefined;
reveal: () => void;
mask: () => void;
copy: () => Promise;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
mask: () => any;
copy: (value: string) => any;
"update:modelValue": (value: string) => any;
reveal: () => any;
copyError: (error: unknown) => any;
}, string, {
label: string;
mask: string;
error: string;
required: boolean;
description: string;
disabled: boolean;
placeholder: string;
size: SensitiveInputSize;
modelValue: string;
readonly: boolean;
copyable: boolean;
copiedDuration: number;
}, {}, string, {}, Record, Record, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & import('vue').Plugin;
export { SENSITIVE_INPUT_DEFAULT_LABELS } from './src/types';
export { SensitiveInput, TxSensitiveInput };
export type { SensitiveInputEmits, SensitiveInputLabels, SensitiveInputMode, SensitiveInputProps, SensitiveInputSize, SensitiveInputStatus, };
export type TxSensitiveInputInstance = InstanceType;
export default SensitiveInput;