import { MCPIdentityOptions, Challenge, ChallengeResponse, MCPICapabilities, SignedResponse, MCPMiddleware, DirectoryPreference } from './types';
import { KeyRotationResult, KeyHealth } from './rotation';
export * from './types';
export * from './vercel-adapter';
export { RegistryFactory, REGISTRY_TIERS, resolveRegistries } from './registry';
export { LoggerFactory, ConsoleLogger, SilentLogger } from './logger';
export { StorageFactory, MemoryStorage, FileStorage } from './storage';
export { TransportFactory, RuntimeDetector } from './transport';
export { KeyRotationManager } from './rotation';
export { initWithDevExperience, showAgentStatus } from './dev-helper';
export { pollRegistrationStatus, isAsyncRegistrationResponse } from './polling';
export declare class MCPIdentity {
    readonly did: string;
    readonly publicKey: string;
    private privateKey;
    private timestampTolerance;
    private enableNonceTracking;
    private usedNonces;
    private nonceCleanupInterval?;
    private encryptionPassword?;
    private decryptedPrivateKey?;
    private directories;
    private storage;
    private transport;
    private logger;
    private rotationManager?;
    private precomputed;
    private constructor();
    static init(options?: MCPIdentityOptions): Promise<MCPIdentity>;
    enableAutoRotation(policy?: {
        maxAge?: number;
        maxSignatures?: number;
    }): Promise<void>;
    rotateKeys(reason?: string): Promise<KeyRotationResult>;
    checkKeyHealth(): KeyHealth | null;
    private getPrivateKey;
    sign(message: string | Buffer): Promise<string>;
    requestEditAccess(): Promise<{
        editUrl: string;
        claimUrl?: string;
    }>;
    verify(message: string | Buffer, signature: string, publicKey?: string): Promise<boolean>;
    respondToChallenge(challenge: Challenge): Promise<ChallengeResponse>;
    getCapabilities(): MCPICapabilities;
    signResponse<T = any>(response: T): Promise<SignedResponse<T>>;
    static generateNonce(): string;
    getDirectories(): DirectoryPreference;
    private startNonceCleanup;
    destroy(): void;
    private extractAgentName;
    private extractAgentId;
    private extractAgentSlug;
    private persistIdentity;
}
export declare function enableMCPIdentity(options?: MCPIdentityOptions): Promise<MCPIdentity>;
export declare function createMCPMiddleware(identity: MCPIdentity): MCPMiddleware;
