import type { App } from "vue";
export interface PaymentOptions {
    assetId: string;
    amount: string;
    scheme: string;
    channel: "mixin" | "fennec" | "metamask" | "walletconnect";
    hideCheckingModal?: boolean;
    actions: {
        mixin?: () => void;
        fennec?: () => Promise<boolean>;
        mvm?: () => Promise<boolean>;
    };
    checker: () => Promise<boolean>;
    container?: string;
}
export interface MixinPaymentOptions {
    assetId: string;
    amount: string;
    recipient: string;
    traceId: string;
    memo: string;
    hideCheckingModal?: boolean;
    checker: () => Promise<boolean>;
}
export declare function usePayment(): PaymentPlugin;
export type Keys = "show" | "mixin";
export type PaymentPlugin = Record<Keys, (options?: PaymentOptions | MixinPaymentOptions) => void>;
export declare function Payment(): void;
export declare namespace Payment {
    var install: (app: App<any>) => void;
}
