declare type InverseDistributeRAFunc = T extends (...args: infer P) => infer U ? (miniappType: MiniappType, ...args: P) => U : never; export declare enum MiniappType { WEMINIAPP = "WEMINIAPP", BDMINIAPP = "BDMINIAPP" } export declare type AuthorizerAppId = string | number; export declare type Miniapp3rdTicketRegister = InverseDistributeRAFunc; export declare type Miniapp3rdTicketAccessor = InverseDistributeRAFunc; export declare type Miniapp3rdAccessTokenRegister = InverseDistributeRAFunc; export declare type Miniapp3rdAccessTokenAccessor = InverseDistributeRAFunc; export declare type Miniapp3rdAuthorizerAccessTokenRegister = InverseDistributeRAFunc; export declare type Miniapp3rdAuthorizerAccessTokenAccessor = InverseDistributeRAFunc; export interface CommonOptions { ticketRegister: Miniapp3rdTicketRegister; ticketAccessor: Miniapp3rdTicketAccessor; accessTokenRegister: Miniapp3rdAccessTokenRegister; accessTokenAccessor: Miniapp3rdAccessTokenAccessor; authorizerAccessTokenRegister: Miniapp3rdAuthorizerAccessTokenRegister; authorizerAccessTokenAccessor: Miniapp3rdAuthorizerAccessTokenAccessor; logger?: any; } export interface Miniapp3rdInitialOptions extends CommonOptions { [MiniappType.WEMINIAPP]?: { appId: string; appSecret: string; messageToken: string; encodingAESKey: string; oldEncodingAESKey: string; agencyId?: string; apiKey?: string; }; [MiniappType.BDMINIAPP]?: { clientOriginalId: string; clientId: string; appSecret: string; messageToken: string; encodingAESKey: string; oldEncodingAESKey: string; }; } export declare type TicketRegister = (ticket: string) => Promise; export declare type TicketAccessor = () => Promise; export declare type AccessTokenRegister = (accessToken: string, expiresIn: number) => Promise; export declare type AccessTokenAccessor = () => Promise<{ accessToken: string; expiresIn: number; updatedAt: Date; } | undefined>; export declare type AuthorizerAccessTokenRegister = (authorizerAppId: AuthorizerAppId, authorizerAccessToken: string, refreshToken: string, expiresIn: number) => Promise; export declare type AuthorizerAccessTokenAccessor = (authorizerAppId: AuthorizerAppId) => Promise<{ authorizerAccessToken: string; refreshToken: string; expiresIn: number; updatedAt: Date; } | undefined>; export {};