import { AllinPay } from '../typings';
interface Dic<T> {
    [key: string]: T;
}
export declare class AllinPayBin {
    readonly config: AllinPay.Config;
    protected readonly thresholdTooLong: number;
    constructor(config: AllinPay.Config);
    service_soa(service: string, method: string, param: Dic<any>): Promise<any>;
    service_soa_allow(service: string, method: string, param: Dic<any>, allow: string, data?: Record<string, any>): Promise<any>;
    gateway_url(url: string, service: string, method: string, param: Dic<any>): Promise<string>;
    param_encrypt<T extends Dic<any>>(param: T, fields: Array<keyof T>): void;
    param_decrypt<T extends Dic<string>>(param: T, fields: Array<keyof T>): void;
    bank_signer(PAYEE_ACCT_NO: string, PAYEE_ACCT_NAME: string, AMOUNT: string, SUMMARY?: string): string;
    getData(result: Dic<any>): any;
    getVerifyData(result: Dic<any>): any;
    onBackReceive(body: any): void;
    onRequest(param: any, response: any): void;
    onRequestError(param: any, response: any, error: any): void;
    onRequestTooLong(_param: any, _response: any, time: {
        startAt: number;
        endAt: number;
    }): void;
    private rsa_encrypt;
    private rsa_decrypt;
    private handleResult;
    private getParams;
}
export {};
