import { Provider, Signer } from 'ethers'; import { BaseContract } from './BaseContract.js'; /** * Shogun Relay Registry Contract * Manages relay registration, staking, and slashing */ export declare class RelayRegistry extends BaseContract { constructor(provider: Provider, signer: Signer | undefined, chainId: number | string); /** * Register a new relay */ registerRelay(endpoint: string, pubkey: string, epub: string, stakeAmount: bigint, griefingRatio: bigint): Promise; /** * Get relay information */ getRelayInfo(relayAddress: string): Promise; /** * Get all active relays */ getActiveRelays(): Promise; /** * Check if relay is active */ isActiveRelay(relayAddress: string): Promise; /** * Increase stake */ increaseStake(amount: bigint): Promise; /** * Request unstake */ requestUnstake(): Promise; /** * Withdraw stake */ withdrawStake(): Promise; /** * Update relay endpoint */ updateRelay(newEndpoint: string): Promise; /** * Update relay encryption keys */ updateRelayEncryptionKeys(pubkey: string, epub: string): Promise; /** * Register user */ registerUser(pubkey: string, epub: string): Promise; /** * Get user info */ getUserInfo(userAddress: string): Promise; /** * Deposit user stake */ depositUserStake(amount: bigint, griefingRatio: bigint): Promise; /** * Withdraw user stake */ withdrawUserStake(amount: bigint): Promise; /** * Grief a relay */ grief(relay: string, slashAmount: bigint, reason: string, griefingRatio: bigint, dealId: string): Promise; } //# sourceMappingURL=RelayRegistry.d.ts.map