import type { CognitoJwtVerifierMultiProperties, CognitoJwtVerifierMultiUserPool, CognitoJwtVerifierProperties, CognitoJwtVerifierSingleUserPool } from "aws-jwt-verify/cognito-verifier";
import type { CognitoJwtPayload, JwtPayload } from "aws-jwt-verify/jwt-model";
import type { JwtVerifierMultiIssuer, JwtVerifierMultiProperties, JwtVerifierProperties, JwtVerifierSingleIssuer, VerifyProperties } from "aws-jwt-verify/jwt-verifier";
interface CognitoJwtVerifierProps {
    jwtVerifier?: CognitoJwtVerifierSingleUserPool<CognitoJwtVerifierProperties> | CognitoJwtVerifierMultiUserPool<CognitoJwtVerifierMultiProperties> | undefined;
    jwtRsaVerifier?: JwtVerifierSingleIssuer<JwtVerifierProperties<VerifyProperties>> | JwtVerifierMultiIssuer<JwtVerifierMultiProperties<VerifyProperties>> | undefined;
}
/**
 * Represents a Cognito JWT Verifier.
 */
export declare class CognitoJwtVerifier {
    #private;
    /**
     * Creates a new instance of CognitoJwtVerifier.
     * @param props - The properties for the CognitoJwtVerifier.
     */
    private constructor();
    /**
     * Creates a new instance of CognitoJwtVerifier.
     * @param props - The properties for the CognitoJwtVerifier.
     * @returns A new instance of CognitoJwtVerifier.
     */
    static create(props: CognitoJwtVerifierProps): CognitoJwtVerifier;
    /**
     * Gets the JWT verifier.
     * @returns The JWT verifier.
     */
    get jwtVerifier(): CognitoJwtVerifierSingleUserPool<CognitoJwtVerifierProperties> | CognitoJwtVerifierMultiUserPool<CognitoJwtVerifierMultiProperties>;
    /**
     * Gets the JWT RSA verifier.
     * @returns The JWT RSA verifier.
     */
    get jwtRsaVerifier(): JwtVerifierSingleIssuer<JwtVerifierProperties<VerifyProperties>> | JwtVerifierMultiIssuer<JwtVerifierMultiProperties<VerifyProperties>>;
    /**
     * Verifies the given token.
     * @param token - The token to verify.
     * @returns A promise that resolves to the verification result.
     * @throws An error if no verifier is found.
     */
    verify(token: string): Promise<CognitoJwtPayload> | Promise<JwtPayload>;
}
export {};
//# sourceMappingURL=cognito-jwt-verifier.adapter.d.ts.map