import type { UseBapEncryptionOptions } from "../types/encryption.js";
import type { UseBapKeyRotationOptions } from "../types/identity.js";
import type { UseBapSigningOptions } from "../types/signing.js";
interface ProfileSyncOptions {
    autoSync?: boolean;
    maxDiscoveryAttempts?: number;
    sigmaApiUrl?: string;
}
interface UseBapIdentityOptions {
    encryption?: UseBapEncryptionOptions;
    signing?: UseBapSigningOptions;
    keyRotation?: UseBapKeyRotationOptions;
    profileSync?: ProfileSyncOptions;
}
export declare function useBapIdentity(options?: UseBapIdentityOptions): {
    encrypt: import("@tanstack/react-query").UseMutateFunction<import("../types/encryption.js").EncryptionResult, Error, import("./useBapEncryption.js").EncryptionParams, unknown>;
    encryptAsync: import("@tanstack/react-query").UseMutateAsyncFunction<import("../types/encryption.js").EncryptionResult, Error, import("./useBapEncryption.js").EncryptionParams, unknown>;
    decrypt: import("@tanstack/react-query").UseMutateFunction<import("../types/encryption.js").DecryptionResult, Error, import("./useBapEncryption.js").DecryptionParams, unknown>;
    decryptAsync: import("@tanstack/react-query").UseMutateAsyncFunction<import("../types/encryption.js").DecryptionResult, Error, import("./useBapEncryption.js").DecryptionParams, unknown>;
    getEncryptionKey: () => import("../types/encryption.js").EncryptionKeyInfo | null;
    signFile: import("@tanstack/react-query").UseMutateFunction<import("../types/signing.js").FileSigningResult, Error, import("./useBapSigning.js").SigningParams, unknown>;
    signFileAsync: import("@tanstack/react-query").UseMutateAsyncFunction<import("../types/signing.js").FileSigningResult, Error, import("./useBapSigning.js").SigningParams, unknown>;
    verifyFile: import("@tanstack/react-query").UseMutateFunction<import("../types/signing.js").FileVerificationResult, Error, import("./useBapSigning.js").VerificationParams, unknown>;
    verifyFileAsync: import("@tanstack/react-query").UseMutateAsyncFunction<import("../types/signing.js").FileVerificationResult, Error, import("./useBapSigning.js").VerificationParams, unknown>;
    broadcastSignature: import("@tanstack/react-query").UseMutateFunction<string, Error, {
        signature: string;
        metadata: Record<string, unknown>;
    }, unknown>;
    broadcastSignatureAsync: import("@tanstack/react-query").UseMutateAsyncFunction<string, Error, {
        signature: string;
        metadata: Record<string, unknown>;
    }, unknown>;
    rotateKey: import("@tanstack/react-query").UseMutateFunction<import("../types/identity.js").KeyRotationResult, Error, import("../types/identity.js").KeyRotationOptions, unknown>;
    rotateKeyAsync: import("@tanstack/react-query").UseMutateAsyncFunction<import("../types/identity.js").KeyRotationResult, Error, import("../types/identity.js").KeyRotationOptions, unknown>;
    rotationHistory: import("../types/identity.js").BapKeyRotationEvent[];
    currentKeyInfo: {
        path: string;
        address: string;
        idKey: string;
    };
    syncProfiles: () => void;
    resetProfileSync: () => void;
    fetchProfile: (idKey: string) => Promise<{
        result: import("./useBapProfileSync.js").SigmaIdentityResponse | null;
    }>;
    validateByAddress: (address: string) => Promise<import("./useBapProfileSync.js").SigmaIdentityResponse | null>;
    isScanning: boolean;
    syncProgress: number;
    currentSyncId: number;
    foundProfileCount: number;
    syncResult: import("./useBapProfileSync.js").ProfileSyncResult | undefined;
    isSyncSuccess: boolean;
    isLoading: boolean;
    isError: boolean;
    isSuccess: boolean;
    hasError: boolean;
    error: Error | null;
    reset: () => void;
};
export {};
//# sourceMappingURL=useBapIdentity.d.ts.map