import { type PropType } from 'vue';
import { type VueRefTarget } from '@mantine-vue/hooks';
export type PinInputStylesNames = 'root' | 'pinInput' | 'input';
export type PinInputCssVariables = {
    root: '--pin-input-size';
};
export type PinInputTypeAttribute = 'button' | 'checkbox' | 'color' | 'date' | 'datetime-local' | 'email' | 'file' | 'hidden' | 'image' | 'month' | 'number' | 'password' | 'radio' | 'range' | 'reset' | 'search' | 'submit' | 'tel' | 'text' | 'time' | 'url' | 'week' | (string & {});
export type PinInputMode = 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search';
export interface PinInputProps {
    name?: string;
    form?: string;
    gap?: string | number;
    radius?: string | number;
    size?: string | number;
    autoFocus?: boolean;
    value?: string;
    defaultValue?: string;
    onChange?: (value: string) => void;
    onComplete?: (value: string) => void;
    placeholder?: string;
    manageFocus?: boolean;
    oneTimeCode?: boolean;
    id?: string;
    disabled?: boolean;
    error?: boolean;
    type?: 'alphanumeric' | 'number' | RegExp;
    mask?: boolean;
    length?: number;
    readOnly?: boolean;
    inputType?: PinInputTypeAttribute;
    inputMode?: PinInputMode;
    ariaLabel?: string;
    hiddenInputProps?: Record<string, any>;
    rootRef?: VueRefTarget<HTMLDivElement>;
    inputRef?: VueRefTarget<HTMLInputElement>;
    getInputProps?: (index: number) => Record<string, any>;
    variant?: string;
    classNames?: Record<string, string> | ((theme: any, props: any) => Record<string, string>);
    styles?: Record<string, any> | ((theme: any, props: any) => Record<string, any>);
    vars?: Record<string, Record<string, string | undefined>> | ((theme: any, props: any) => Record<string, Record<string, string | undefined>>);
    unstyled?: boolean;
}
export declare const PinInput: import("../..").WithBoxProps<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    name: {
        type: StringConstructor;
        default: undefined;
    };
    form: {
        type: StringConstructor;
        default: undefined;
    };
    gap: {
        type: PropType<string | number>;
        default: undefined;
    };
    radius: {
        type: PropType<string | number>;
        default: undefined;
    };
    size: {
        type: PropType<string | number>;
        default: undefined;
    };
    autoFocus: {
        type: BooleanConstructor;
        default: boolean;
    };
    value: {
        type: StringConstructor;
        default: undefined;
    };
    defaultValue: {
        type: StringConstructor;
        default: undefined;
    };
    onChange: {
        type: PropType<(value: string) => void>;
        default: undefined;
    };
    onComplete: {
        type: PropType<(value: string) => void>;
        default: undefined;
    };
    placeholder: {
        type: StringConstructor;
        default: undefined;
    };
    manageFocus: {
        type: BooleanConstructor;
        default: undefined;
    };
    oneTimeCode: {
        type: BooleanConstructor;
        default: undefined;
    };
    id: {
        type: StringConstructor;
        default: undefined;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    error: {
        type: BooleanConstructor;
        default: boolean;
    };
    type: {
        type: PropType<"alphanumeric" | "number" | RegExp>;
        default: undefined;
    };
    mask: {
        type: BooleanConstructor;
        default: boolean;
    };
    length: {
        type: NumberConstructor;
        default: undefined;
    };
    readOnly: {
        type: BooleanConstructor;
        default: boolean;
    };
    inputType: {
        type: PropType<PinInputTypeAttribute>;
        default: undefined;
    };
    inputMode: {
        type: PropType<PinInputMode>;
        default: undefined;
    };
    ariaLabel: {
        type: StringConstructor;
        default: undefined;
    };
    hiddenInputProps: {
        type: PropType<Record<string, any>>;
        default: undefined;
    };
    rootRef: {
        type: PropType<VueRefTarget<HTMLDivElement>>;
        default: undefined;
    };
    inputRef: {
        type: PropType<VueRefTarget<HTMLInputElement>>;
        default: undefined;
    };
    getInputProps: {
        type: PropType<(index: number) => Record<string, any>>;
        default: undefined;
    };
    variant: {
        type: StringConstructor;
        default: undefined;
    };
    classNames: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    styles: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    vars: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    unstyled: {
        type: BooleanConstructor;
        default: boolean;
    };
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    name: {
        type: StringConstructor;
        default: undefined;
    };
    form: {
        type: StringConstructor;
        default: undefined;
    };
    gap: {
        type: PropType<string | number>;
        default: undefined;
    };
    radius: {
        type: PropType<string | number>;
        default: undefined;
    };
    size: {
        type: PropType<string | number>;
        default: undefined;
    };
    autoFocus: {
        type: BooleanConstructor;
        default: boolean;
    };
    value: {
        type: StringConstructor;
        default: undefined;
    };
    defaultValue: {
        type: StringConstructor;
        default: undefined;
    };
    onChange: {
        type: PropType<(value: string) => void>;
        default: undefined;
    };
    onComplete: {
        type: PropType<(value: string) => void>;
        default: undefined;
    };
    placeholder: {
        type: StringConstructor;
        default: undefined;
    };
    manageFocus: {
        type: BooleanConstructor;
        default: undefined;
    };
    oneTimeCode: {
        type: BooleanConstructor;
        default: undefined;
    };
    id: {
        type: StringConstructor;
        default: undefined;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    error: {
        type: BooleanConstructor;
        default: boolean;
    };
    type: {
        type: PropType<"alphanumeric" | "number" | RegExp>;
        default: undefined;
    };
    mask: {
        type: BooleanConstructor;
        default: boolean;
    };
    length: {
        type: NumberConstructor;
        default: undefined;
    };
    readOnly: {
        type: BooleanConstructor;
        default: boolean;
    };
    inputType: {
        type: PropType<PinInputTypeAttribute>;
        default: undefined;
    };
    inputMode: {
        type: PropType<PinInputMode>;
        default: undefined;
    };
    ariaLabel: {
        type: StringConstructor;
        default: undefined;
    };
    hiddenInputProps: {
        type: PropType<Record<string, any>>;
        default: undefined;
    };
    rootRef: {
        type: PropType<VueRefTarget<HTMLDivElement>>;
        default: undefined;
    };
    inputRef: {
        type: PropType<VueRefTarget<HTMLInputElement>>;
        default: undefined;
    };
    getInputProps: {
        type: PropType<(index: number) => Record<string, any>>;
        default: undefined;
    };
    variant: {
        type: StringConstructor;
        default: undefined;
    };
    classNames: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    styles: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    vars: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    unstyled: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Readonly<{}>, {
    size: string | number;
    length: number;
    radius: string | number;
    name: string;
    variant: string;
    type: "number" | RegExp | "alphanumeric";
    error: boolean;
    onChange: (value: string) => void;
    form: string;
    value: string;
    classNames: Function | Record<string, any>;
    styles: Function | Record<string, any>;
    disabled: boolean;
    mask: boolean;
    defaultValue: string;
    id: string;
    gap: string | number;
    onComplete: (value: string) => void;
    vars: Function | Record<string, any>;
    unstyled: boolean;
    hiddenInputProps: Record<string, any>;
    placeholder: string;
    inputRef: VueRefTarget<HTMLInputElement>;
    rootRef: VueRefTarget<HTMLDivElement>;
    readOnly: boolean;
    inputMode: PinInputMode;
    autoFocus: boolean;
    manageFocus: boolean;
    oneTimeCode: boolean;
    inputType: PinInputTypeAttribute;
    ariaLabel: string;
    getInputProps: (index: number) => Record<string, any>;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>>;
