import { ContractWrapperFactory } from "../contractWrapperFactory";
import { ArcTransactionResult, IContractWrapperFactory } from "../iContractWrapperBase";
import { TxGeneratingFunctionOptions } from "../transactionService";
import { InitializeOptions, Locking4ReputationWrapper, LockingOptions, ReleaseOptions } from "./locking4Reputation";
export declare class LockingEth4ReputationWrapper extends Locking4ReputationWrapper {
    name: string;
    friendlyName: string;
    factory: IContractWrapperFactory<LockingEth4ReputationWrapper>;
    initialize(options: InitializeOptions & TxGeneratingFunctionOptions): Promise<ArcTransactionResult>;
    release(options: ReleaseOptions & TxGeneratingFunctionOptions): Promise<ArcTransactionResult>;
    /**
     * Returns reason why can't lock, else null if can lock
     */
    getLockBlocker(options: LockingOptions): Promise<string | null>;
    lock(options: LockingOptions & TxGeneratingFunctionOptions): Promise<ArcTransactionResult>;
}
export declare class LockingEth4ReputationType extends ContractWrapperFactory<LockingEth4ReputationWrapper> {
    deployed(): Promise<LockingEth4ReputationWrapper>;
}
export declare const LockingEth4ReputationFactory: LockingEth4ReputationType;
