import { SocialRecoveryModuleGracePeriodSelector } from "./utils";
export type RecoveryByGuardianRequest = {
    id: string;
    emoji: string;
    account: string;
    newOwners: string[];
    newThreshold: number;
    chainId: number;
    nonce: bigint;
    signatures: string[];
    executeData: {
        sponsored: boolean;
        transactionHash?: string;
    };
    finalizeData: {
        sponsored: boolean;
        transactionHash?: string;
    };
    status: "PENDING" | "EXECUTED" | "FINALIZED";
    discoverable: boolean;
    createdAt: string;
    updatedAt: string;
};
export declare class RecoveryByGuardianService {
    readonly serviceEndpoint: string;
    readonly chainId: bigint;
    readonly recoveryModuleAddress: SocialRecoveryModuleGracePeriodSelector;
    constructor(serviceEndpoint: string, chainId: bigint, recoveryModuleAddress: SocialRecoveryModuleGracePeriodSelector);
    getPendingRecoveryRequestsForLatestNonce(rpcNode: string, accountAddress: string): Promise<RecoveryByGuardianRequest[]>;
    getExecutedRecoveryRequestForLatestNonce(rpcNode: string, accountAddress: string): Promise<RecoveryByGuardianRequest | null>;
    getFinalizedRecoveryRequestForLatestNonce(rpcNode: string, accountAddress: string): Promise<RecoveryByGuardianRequest | null>;
    getRecoveryRequestsForLatestNonce(rpcNode: string, accountAddress: string, status: "PENDING" | "EXECUTED" | "FINALIZED"): Promise<RecoveryByGuardianRequest[]>;
    getRecoveryRequests(accountAddress: string, recoveryNonce: bigint): Promise<RecoveryByGuardianRequest[]>;
    createRecoveryRequest(accountAddress: string, newOwners: string[], newThreshold: number, guardianAddress: string, guardianSignature: string): Promise<RecoveryByGuardianRequest>;
    submitGuardianSignatureForRecoveryRequest(id: string, guardianAddress: string, guardianSignature: string): Promise<boolean>;
    executeRecoveryRequest(id: string): Promise<boolean>;
    finalizeRecoveryRequest(id: string): Promise<boolean>;
}
//# sourceMappingURL=recoveryByGuardian.d.ts.map