import { type Wallet } from 'ethers';
import type { IReclaimServiceManager, NewTaskCreatedEvent } from '../../avs/contracts/ReclaimServiceManager.ts';
type CreateClaimWithoutOwner = Omit<IReclaimServiceManager.ClaimRequestStruct, 'owner'>;
type CreateNewClaimRequestOnChainOpts = {
    request: CreateClaimWithoutOwner;
    payer: Wallet;
    chainId?: string;
} & ({
    owner: Wallet;
} | {
    /**
     * Address of the owner of the claim
     */
    owner: string;
    requestSignature?: string | Uint8Array;
});
export declare function createNewClaimRequestOnChain({ request, payer, chainId, ...rest }: CreateNewClaimRequestOnChainOpts): Promise<{
    task: NewTaskCreatedEvent.OutputObject;
    tx: import("ethers").ContractTransactionReceipt | null;
}>;
export declare function signClaimRequest(request: IReclaimServiceManager.ClaimRequestStruct, owner: Wallet, chainId?: string): Promise<Uint8Array<ArrayBufferLike>>;
export {};
