import type { Footer, Assertion, Payload } from '../lib/types.js';
/**
 * Verifies a PASETO v4.public token using the supplied Ed25519 public key.
 * The public key must have the version and purpose of `k4.public`.
 * @param {string | Uint8Array} key Ed25519 public key to verify with
 * @param {string | Uint8Array} token PASETO v4.public token to verify
 * @param {object} options Options
 * @param {Assertion | string | Uint8Array} options.assertion Optional assertion
 * @param {number} options.maxDepth Maximum depth of nested objects in the payload and footer; defaults to 32
 * @param {number} options.maxKeys Maximum number of keys in an object in the payload and footer; defaults to 128
 * @returns {object} Object containing the payload and footer
 * @see https://github.com/paseto-standard/paseto-spec/blob/master/docs/01-Protocol-Versions/Version4.md#verify
 */
export declare function verify<T extends {
    [key: string]: any;
} = {
    [key: string]: any;
}>(key: string | Uint8Array, token: string | Uint8Array, { assertion, maxDepth, maxKeys, validatePayload, }?: {
    assertion?: Assertion | string | Uint8Array;
    maxDepth?: number;
    maxKeys?: number;
    validatePayload?: boolean;
}): {
    payload: Payload & T;
    footer?: Footer | string;
};
