///
export interface WeChatPaymentAPIConfig {
PAYMENT_HOST: string;
PAYMENT_HOST_PORT: number;
UNIFIED_ORDER: string;
QUERY_ORDER: string;
CLOSE_ORDER: string;
REFUND: string;
QUERY_REFUND: string;
DOWNLOAD_BILL: string;
SHORT_URL: string;
REPORT: string;
SIGN_KEY: string;
DOWNLOAD_FUND_FLOW: string;
BATCH_QUERY_COMMENT: string;
QUERY_SETTLEMENT: string;
QUERY_EXCHANGE_RATE: string;
}
export interface WeChatPaymentConfig {
paymentNotifyUrl: string;
paymentSandBox?: boolean;
paymentSandBoxKey?: string;
paymentKey?: string;
paymentCertificatePfx?: string | Buffer;
paymentPassphrase?: string;
merchantId: string;
paymentAPI: WeChatPaymentAPIConfig;
}
export interface WeChatMiniProgramConfig {
appId: string;
appSecret: string;
GET_SESSION_KEY_URL: string;
}
export interface WeChatConfig {
wechatRedirectHost: string;
wechatRedirectUrl: string;
wechatToken: string;
appId: string;
appSecret: string;
ticketUrl: string;
accessTokenUrl: string;
oAuthUrl: string;
apiUrl: string;
oAuthState: string;
decodeCardCodeUrl: string;
miniProgram: WeChatMiniProgramConfig;
payment: WeChatPaymentConfig;
}
export declare const COMPARE_CONFIG_KEYS: string[];
export declare function getConfigFromCompareKeys(wechatConfig: WeChatConfig, compareKeys?: string[]): Record;
/**
* Check if user passed necessary configuration
* @param {object} options user custom wechat config
*/
export declare function checkPassedConfiguration(options: WeChatConfig): boolean;
/**
* get default wechat configuration
* @return {object} wechatConfig
*/
export declare function getDefaultConfiguration(): WeChatConfig;
/**
* Check if the new main wechat config values are the same as the previous one
* @param {object} newConfig
* @param {object} oldConfig
* @param {Array=} compareKeys - custom keys to compare
*/
export declare function isBreakingConfigChange(newConfig: WeChatConfig, oldConfig: WeChatConfig, compareKeys?: string[]): boolean;