import { DefineComponent, ExtractPropTypes, VNode, RendererNode, RendererElement, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue-demi';
export type StripeElementType = 'card' | 'cardNumber' | 'cardExpiry' | 'cardCvc' | 'payment' | 'address' | 'expressCheckout' | 'linkAuthentication';
export interface ElementFactoryOptions {
    elementType: StripeElementType;
    componentName: string;
}
export declare function createStripeElement({ elementType, componentName }: ElementFactoryOptions): DefineComponent<ExtractPropTypes<{
    options: {
        type: ObjectConstructor;
        default: () => {};
    };
}>, () => VNode<RendererNode, RendererElement, {
    [key: string]: any;
}>, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, ("blur" | "change" | "focus" | "ready" | "escape")[], "blur" | "change" | "focus" | "ready" | "escape", PublicProps, Readonly< ExtractPropTypes<{
    options: {
        type: ObjectConstructor;
        default: () => {};
    };
}>> & Readonly<{
    onFocus?: (...args: any[]) => any;
    onBlur?: (...args: any[]) => any;
    onChange?: (...args: any[]) => any;
    onReady?: (...args: any[]) => any;
    onEscape?: (...args: any[]) => any;
}>, {
    options: Record<string, any>;
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
//# sourceMappingURL=element-factory.d.ts.map