import { TokenexScriptUrl } from '../constants';
export type TokenexLinkType = keyof typeof TokenexScriptUrl;
export type TokenSchemeType = string;
export type TokenexCardType = 'masterCard' | 'americanExpress' | 'discover' | 'visa' | 'diners' | 'jcb' | 'unknown';
export type TokenexInitConfigType = {
    origin: string;
    timestamp: string;
    tokenExID: string;
    tokenScheme: TokenSchemeType;
    authenticationKey: string;
};
export type TokenexConfigType = TokenexInitConfigType & {
    enablePrettyFormat?: boolean;
    enableValidateOnBlur?: boolean;
    returnKhash?: boolean;
    placeholder?: string;
    debug?: boolean;
    pci?: boolean;
    cvv?: boolean;
    maskInput?: boolean | string;
    useExtendedBIN?: boolean | string;
    inputType?: string;
    inputMaxLength?: number;
    customRegEx?: string;
    styles?: Record<string, any>;
};
export type TokenexValidationProps = {
    isValid: boolean;
    isCvvValid: boolean;
    cardType: TokenexCardType;
    lastFour?: string;
    firstSix?: string;
    characterCount?: number;
    validator?: string;
    cvvValidator?: string;
};
export type TokenexTokenizeProps = {
    firstSix: string;
    lastFour: string;
    cardType: TokenexCardType;
    characterCount?: number;
    token: string;
    referenceNumber: number;
    tokenHMAC: string;
};
export type TokenexCssType = {
    base: string;
    focus?: string;
    hover?: string;
    error?: string;
    placeholder?: string;
    disabled?: string;
};
