import { type Request, type RequestHandler } from 'express'; import { type FastifyReply, type FastifyRequest } from 'fastify'; import { type SecretEnv, type Resource, type MiauClientToken, type HasPermissionResponse } from '@eduzz/miau-types'; import { type RequestAugmentation } from './middleware'; type MiauClientConfig = { apiUrl: string; appSecret: string; }; export declare class MiauClient { private config; private jwtToken; private jwksClient; private basicAuthToken; constructor(config: MiauClientConfig); getEnvironment(): SecretEnv; getPublicKey(kid: string): Promise; getToken(): Promise; getTokenData: () => Promise; middleware>(config?: { requestAugmentation?: RequestAugmentation; fallbackMiddleware?: RequestHandler; }): RequestHandler; hook>(config?: { requestAugmentation?: RequestAugmentation; fallbackMiddleware?: (request: FastifyRequest, reply: FastifyReply) => void; }): (request: FastifyRequest, reply: FastifyReply) => void; hasPermission(sourceAppId: string, resource: Resource): Promise; verify(token: string, publicKey: string): Promise; private getJwksUrl; private getHasPermissionUrl; private getOAuthTokenUrl; } export {};