/**
 * PKP Integration Interfaces
 */
/**
 * PKP Manager Interface
 */
export interface IPKPManager {
    issuePKP(request: PKPIssuanceRequest): Promise<PKPData>;
    validatePKP(pkpId: string): Promise<PKPValidationResult>;
    getPKPData(pkpId: string): Promise<PKPData | null>;
}
/**
 * PKP Data Interface
 */
export interface PKPData {
    tokenId: string;
    publicKey: string;
    ethAddress: string;
    litActionCid?: string;
}
/**
 * PKP Issuance Request Interface
 */
export interface PKPIssuanceRequest {
    userId: string;
    metadata?: {
        name?: string;
        description?: string;
    };
}
/**
 * PKP Creation Request Interface
 */
export interface PKPCreationRequest {
    userId: string;
    litActionCid: string;
    metadata?: {
        name?: string;
        description?: string;
        attributes?: Record<string, any>;
    };
}
/**
 * PKP Creation Result Interface
 */
export interface PKPCreationResult {
    success: boolean;
    error?: string;
    tokenId?: string;
    publicKey?: string;
    ethAddress?: string;
    transactionHash?: string;
}
/**
 * PKP Validation Request Interface
 */
export interface PKPValidationRequest {
    pkpId: string;
    message: string;
    signature: string;
}
/**
 * PKP Validation Result Interface
 */
export interface PKPValidationResult {
    valid: boolean;
    error?: string;
    validatorAddress?: string;
    signature?: string;
}
/**
 * PKP Signing Request Interface
 */
export interface PKPSigningRequest {
    pkpId: string;
    messageHash: string;
    params?: Record<string, any>;
}
/**
 * PKP Signing Result Interface
 */
export interface PKPSigningResult {
    success: boolean;
    error?: string;
    signature?: string;
    publicKey?: string;
}
