import { App } from 'vue';
import { default as SecurePin } from './components/SecurePin.vue';

/**
 * Callback event payload interface
 */
export interface PinEventPayload {
    pin: string;
    pinMasked: string;
}
/**
 * Install the SecurePin component as a Vue plugin
 *
 * @param app - Vue application instance
 */
declare function install(app: App): void;
export { SecurePin };
declare const _default: {
    install: typeof install;
    SecurePin: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
        isEnableShuffle: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        title: {
            type: import('vue').PropType<string>;
            default: string;
        };
        clearLabel: {
            type: import('vue').PropType<string>;
            default: string;
        };
        maxLength: {
            type: import('vue').PropType<number>;
            default: number;
        };
        isError: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        errorMessage: {
            type: import('vue').PropType<string>;
            default: string;
        };
        placeholder: {
            type: import('vue').PropType<string>;
            default: string;
        };
        showKeyboard: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
    }>, {
        clearHandler: () => void;
        toggleKeyboard: () => void;
    }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
        callbackEvent: (payload: PinEventPayload) => void;
    }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
        isEnableShuffle: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        title: {
            type: import('vue').PropType<string>;
            default: string;
        };
        clearLabel: {
            type: import('vue').PropType<string>;
            default: string;
        };
        maxLength: {
            type: import('vue').PropType<number>;
            default: number;
        };
        isError: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        errorMessage: {
            type: import('vue').PropType<string>;
            default: string;
        };
        placeholder: {
            type: import('vue').PropType<string>;
            default: string;
        };
        showKeyboard: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
    }>> & Readonly<{
        onCallbackEvent?: ((payload: PinEventPayload) => any) | undefined;
    }>, {
        isEnableShuffle: boolean;
        title: string;
        clearLabel: string;
        maxLength: number;
        isError: boolean;
        errorMessage: string;
        placeholder: string;
        showKeyboard: boolean;
    }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
};
export default _default;
