/// <reference types="node" />
import BN from "bn.js";
import { ContractOptions } from "web3-eth-contract";
import { EventLog } from "web3-core";
import { EventEmitter } from "events";
import { Callback, PayableTransactionObject, NonPayableTransactionObject, BlockType, ContractEventLog, BaseContract } from "./types";
export interface EventOptions {
    filter?: object;
    fromBlock?: BlockType;
    topics?: string[];
}
export declare type DuelStart = ContractEventLog<{
    duelId: string;
    wizardId1: string;
    wizardId2: string;
    timeoutBlock: string;
    isAscensionBattle: boolean;
    0: string;
    1: string;
    2: string;
    3: string;
    4: boolean;
}>;
export declare type DuelEnd = ContractEventLog<{
    duelId: string;
    wizardId1: string;
    wizardId2: string;
    moveSet1: string;
    moveSet2: string;
    power1: string;
    power2: string;
    0: string;
    1: string;
    2: string;
    3: string;
    4: string;
    5: string;
    6: string;
}>;
export declare type DuelTimeOut = ContractEventLog<{
    duelId: string;
    wizardId1: string;
    wizardId2: string;
    power1: string;
    power2: string;
    0: string;
    1: string;
    2: string;
    3: string;
    4: string;
}>;
export declare type WizardElimination = ContractEventLog<{
    wizardId: string;
    0: string;
}>;
export declare type AscensionStart = ContractEventLog<{
    wizardId: string;
    0: string;
}>;
export declare type AscensionPairUp = ContractEventLog<{
    wizardId1: string;
    wizardId2: string;
    0: string;
    1: string;
}>;
export declare type AscensionComplete = ContractEventLog<{
    wizardId: string;
    power: string;
    0: string;
    1: string;
}>;
export declare type Revive = ContractEventLog<{
    wizId: string;
    power: string;
    0: string;
    1: string;
}>;
export declare type PowerGifted = ContractEventLog<{
    givingWizId: string;
    receivingWizId: string;
    amountGifted: string;
    0: string;
    1: string;
    2: string;
}>;
export declare type PrizeClaimed = ContractEventLog<{
    claimingWinnerId: string;
    prizeAmount: string;
    0: string;
    1: string;
}>;
export declare type Paused = ContractEventLog<{
    pauseEndingBlock: string;
    0: string;
}>;
export declare type CEOTransferred = ContractEventLog<{
    previousCeo: string;
    newCeo: string;
    0: string;
    1: string;
}>;
export declare type COOTransferred = ContractEventLog<{
    previousCoo: string;
    newCoo: string;
    0: string;
    1: string;
}>;
export declare type CFOTransferred = ContractEventLog<{
    previousCfo: string;
    newCfo: string;
    0: string;
    1: string;
}>;
export interface CheezeWizardsBasicTournamentAbi extends BaseContract {
    constructor(jsonInterface: any[], address?: string, options?: ContractOptions): CheezeWizardsBasicTournamentAbi;
    clone(): CheezeWizardsBasicTournamentAbi;
    methods: {
        cfoAddress(): NonPayableTransactionObject<string>;
        ceoAddress(): NonPayableTransactionObject<string>;
        pause(pauseDuration: number | string | BN): NonPayableTransactionObject<void>;
        setCfo(newCfo: string): NonPayableTransactionObject<void>;
        duelResolver(): NonPayableTransactionObject<string>;
        setCeo(newCeo: string): NonPayableTransactionObject<void>;
        setCoo(newCoo: string): NonPayableTransactionObject<void>;
        powerScale(): NonPayableTransactionObject<string>;
        cooAddress(): NonPayableTransactionObject<string>;
        isPaused(): NonPayableTransactionObject<boolean>;
        supportsInterface(interfaceId: string | number[]): NonPayableTransactionObject<boolean>;
        isActive(): NonPayableTransactionObject<boolean>;
        getWizard(wizardId: number | string | BN): NonPayableTransactionObject<{
            affinity: string;
            power: string;
            maxPower: string;
            nonce: string;
            currentDuel: string;
            ascending: boolean;
            ascensionOpponent: string;
            molded: boolean;
            ready: boolean;
            0: string;
            1: string;
            2: string;
            3: string;
            4: string;
            5: boolean;
            6: string;
            7: boolean;
            8: boolean;
        }>;
        wizardFingerprint(wizardId: number | string | BN): NonPayableTransactionObject<string>;
        isReady(wizardId: number | string | BN): NonPayableTransactionObject<boolean>;
        enterWizards(wizardIds: (number | string | BN)[], powers: (number | string | BN)[]): PayableTransactionObject<void>;
        revive(wizardId: number | string | BN): PayableTransactionObject<void>;
        updateAffinity(wizardId: number | string | BN): NonPayableTransactionObject<void>;
        startAscension(wizardId: number | string | BN): NonPayableTransactionObject<void>;
        challengeAscending(wizardId: number | string | BN, commitment: string | number[]): NonPayableTransactionObject<void>;
        acceptAscensionChallenge(commitment: string | number[]): NonPayableTransactionObject<void>;
        completeAscension(): NonPayableTransactionObject<void>;
        oneSidedCommit(committingWizardId: number | string | BN, otherWizardId: number | string | BN, commitment: string | number[]): NonPayableTransactionObject<void>;
        cancelCommitment(wizardId: number | string | BN): NonPayableTransactionObject<void>;
        doubleCommit(wizardId1: number | string | BN, wizardId2: number | string | BN, commit1: string | number[], commit2: string | number[], sig1: string | number[], sig2: string | number[]): NonPayableTransactionObject<string>;
        oneSidedReveal(committingWizardId: number | string | BN, commit: string | number[], moveSet: string | number[], salt: string | number[], otherWizardId: number | string | BN, otherCommit: string | number[]): NonPayableTransactionObject<void>;
        doubleReveal(wizardId1: number | string | BN, wizardId2: number | string | BN, commit1: string | number[], commit2: string | number[], moveSet1: string | number[], moveSet2: string | number[], salt1: string | number[], salt2: string | number[]): NonPayableTransactionObject<void>;
        resolveTimedOutDuel(wizardId1: number | string | BN, wizardId2: number | string | BN): NonPayableTransactionObject<void>;
        giftPower(sendingWizardId: number | string | BN, receivingWizardId: number | string | BN): NonPayableTransactionObject<void>;
        cullMoldedWithSurvivor(wizardIds: (number | string | BN)[], survivor: number | string | BN): NonPayableTransactionObject<void>;
        cullMoldedWithMolded(moldyWizardIds: (number | string | BN)[]): NonPayableTransactionObject<void>;
        cullTiredWizards(wizardIds: (number | string | BN)[]): NonPayableTransactionObject<void>;
        claimTheBigCheeze(claimingWinnerId: number | string | BN): NonPayableTransactionObject<void>;
        claimSharedWinnings(claimingWinnerId: number | string | BN, allWinners: (number | string | BN)[]): NonPayableTransactionObject<void>;
        destroy(): NonPayableTransactionObject<void>;
    };
    events: {
        DuelStart(cb?: Callback<DuelStart>): EventEmitter;
        DuelStart(options?: EventOptions, cb?: Callback<DuelStart>): EventEmitter;
        DuelEnd(cb?: Callback<DuelEnd>): EventEmitter;
        DuelEnd(options?: EventOptions, cb?: Callback<DuelEnd>): EventEmitter;
        DuelTimeOut(cb?: Callback<DuelTimeOut>): EventEmitter;
        DuelTimeOut(options?: EventOptions, cb?: Callback<DuelTimeOut>): EventEmitter;
        WizardElimination(cb?: Callback<WizardElimination>): EventEmitter;
        WizardElimination(options?: EventOptions, cb?: Callback<WizardElimination>): EventEmitter;
        AscensionStart(cb?: Callback<AscensionStart>): EventEmitter;
        AscensionStart(options?: EventOptions, cb?: Callback<AscensionStart>): EventEmitter;
        AscensionPairUp(cb?: Callback<AscensionPairUp>): EventEmitter;
        AscensionPairUp(options?: EventOptions, cb?: Callback<AscensionPairUp>): EventEmitter;
        AscensionComplete(cb?: Callback<AscensionComplete>): EventEmitter;
        AscensionComplete(options?: EventOptions, cb?: Callback<AscensionComplete>): EventEmitter;
        Revive(cb?: Callback<Revive>): EventEmitter;
        Revive(options?: EventOptions, cb?: Callback<Revive>): EventEmitter;
        PowerGifted(cb?: Callback<PowerGifted>): EventEmitter;
        PowerGifted(options?: EventOptions, cb?: Callback<PowerGifted>): EventEmitter;
        PrizeClaimed(cb?: Callback<PrizeClaimed>): EventEmitter;
        PrizeClaimed(options?: EventOptions, cb?: Callback<PrizeClaimed>): EventEmitter;
        Paused(cb?: Callback<Paused>): EventEmitter;
        Paused(options?: EventOptions, cb?: Callback<Paused>): EventEmitter;
        CEOTransferred(cb?: Callback<CEOTransferred>): EventEmitter;
        CEOTransferred(options?: EventOptions, cb?: Callback<CEOTransferred>): EventEmitter;
        COOTransferred(cb?: Callback<COOTransferred>): EventEmitter;
        COOTransferred(options?: EventOptions, cb?: Callback<COOTransferred>): EventEmitter;
        CFOTransferred(cb?: Callback<CFOTransferred>): EventEmitter;
        CFOTransferred(options?: EventOptions, cb?: Callback<CFOTransferred>): EventEmitter;
        allEvents(options?: EventOptions, cb?: Callback<EventLog>): EventEmitter;
    };
    once(event: "DuelStart", cb: Callback<DuelStart>): void;
    once(event: "DuelStart", options: EventOptions, cb: Callback<DuelStart>): void;
    once(event: "DuelEnd", cb: Callback<DuelEnd>): void;
    once(event: "DuelEnd", options: EventOptions, cb: Callback<DuelEnd>): void;
    once(event: "DuelTimeOut", cb: Callback<DuelTimeOut>): void;
    once(event: "DuelTimeOut", options: EventOptions, cb: Callback<DuelTimeOut>): void;
    once(event: "WizardElimination", cb: Callback<WizardElimination>): void;
    once(event: "WizardElimination", options: EventOptions, cb: Callback<WizardElimination>): void;
    once(event: "AscensionStart", cb: Callback<AscensionStart>): void;
    once(event: "AscensionStart", options: EventOptions, cb: Callback<AscensionStart>): void;
    once(event: "AscensionPairUp", cb: Callback<AscensionPairUp>): void;
    once(event: "AscensionPairUp", options: EventOptions, cb: Callback<AscensionPairUp>): void;
    once(event: "AscensionComplete", cb: Callback<AscensionComplete>): void;
    once(event: "AscensionComplete", options: EventOptions, cb: Callback<AscensionComplete>): void;
    once(event: "Revive", cb: Callback<Revive>): void;
    once(event: "Revive", options: EventOptions, cb: Callback<Revive>): void;
    once(event: "PowerGifted", cb: Callback<PowerGifted>): void;
    once(event: "PowerGifted", options: EventOptions, cb: Callback<PowerGifted>): void;
    once(event: "PrizeClaimed", cb: Callback<PrizeClaimed>): void;
    once(event: "PrizeClaimed", options: EventOptions, cb: Callback<PrizeClaimed>): void;
    once(event: "Paused", cb: Callback<Paused>): void;
    once(event: "Paused", options: EventOptions, cb: Callback<Paused>): void;
    once(event: "CEOTransferred", cb: Callback<CEOTransferred>): void;
    once(event: "CEOTransferred", options: EventOptions, cb: Callback<CEOTransferred>): void;
    once(event: "COOTransferred", cb: Callback<COOTransferred>): void;
    once(event: "COOTransferred", options: EventOptions, cb: Callback<COOTransferred>): void;
    once(event: "CFOTransferred", cb: Callback<CFOTransferred>): void;
    once(event: "CFOTransferred", options: EventOptions, cb: Callback<CFOTransferred>): void;
}
