import { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers"; import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface IERC777Interface extends utils.Interface { functions: { "authorizeOperator(address)": FunctionFragment; "balanceOf(address)": FunctionFragment; "burn(uint256,bytes)": FunctionFragment; "defaultOperators()": FunctionFragment; "granularity()": FunctionFragment; "isOperatorFor(address,address)": FunctionFragment; "name()": FunctionFragment; "operatorBurn(address,uint256,bytes,bytes)": FunctionFragment; "operatorSend(address,address,uint256,bytes,bytes)": FunctionFragment; "revokeOperator(address)": FunctionFragment; "send(address,uint256,bytes)": FunctionFragment; "symbol()": FunctionFragment; "totalSupply()": FunctionFragment; }; encodeFunctionData(functionFragment: "authorizeOperator", values: [string]): string; encodeFunctionData(functionFragment: "balanceOf", values: [string]): string; encodeFunctionData(functionFragment: "burn", values: [BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "defaultOperators", values?: undefined): string; encodeFunctionData(functionFragment: "granularity", values?: undefined): string; encodeFunctionData(functionFragment: "isOperatorFor", values: [string, string]): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "operatorBurn", values: [string, BigNumberish, BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: "operatorSend", values: [string, string, BigNumberish, BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: "revokeOperator", values: [string]): string; encodeFunctionData(functionFragment: "send", values: [string, BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; decodeFunctionResult(functionFragment: "authorizeOperator", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; decodeFunctionResult(functionFragment: "defaultOperators", data: BytesLike): Result; decodeFunctionResult(functionFragment: "granularity", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isOperatorFor", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "operatorBurn", data: BytesLike): Result; decodeFunctionResult(functionFragment: "operatorSend", data: BytesLike): Result; decodeFunctionResult(functionFragment: "revokeOperator", data: BytesLike): Result; decodeFunctionResult(functionFragment: "send", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; events: { "AuthorizedOperator(address,address)": EventFragment; "Burned(address,address,uint256,bytes,bytes)": EventFragment; "Minted(address,address,uint256,bytes,bytes)": EventFragment; "RevokedOperator(address,address)": EventFragment; "Sent(address,address,address,uint256,bytes,bytes)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AuthorizedOperator"): EventFragment; getEvent(nameOrSignatureOrTopic: "Burned"): EventFragment; getEvent(nameOrSignatureOrTopic: "Minted"): EventFragment; getEvent(nameOrSignatureOrTopic: "RevokedOperator"): EventFragment; getEvent(nameOrSignatureOrTopic: "Sent"): EventFragment; } export declare type AuthorizedOperatorEvent = TypedEvent<[ string, string ], { operator: string; tokenHolder: string; }>; export declare type AuthorizedOperatorEventFilter = TypedEventFilter; export declare type BurnedEvent = TypedEvent<[ string, string, BigNumber, string, string ], { operator: string; from: string; amount: BigNumber; data: string; operatorData: string; }>; export declare type BurnedEventFilter = TypedEventFilter; export declare type MintedEvent = TypedEvent<[ string, string, BigNumber, string, string ], { operator: string; to: string; amount: BigNumber; data: string; operatorData: string; }>; export declare type MintedEventFilter = TypedEventFilter; export declare type RevokedOperatorEvent = TypedEvent<[ string, string ], { operator: string; tokenHolder: string; }>; export declare type RevokedOperatorEventFilter = TypedEventFilter; export declare type SentEvent = TypedEvent<[ string, string, string, BigNumber, string, string ], { operator: string; from: string; to: string; amount: BigNumber; data: string; operatorData: string; }>; export declare type SentEventFilter = TypedEventFilter; export interface IERC777 extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: IERC777Interface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { authorizeOperator(operator: string, overrides?: Overrides & { from?: string | Promise; }): Promise; balanceOf(owner: string, overrides?: CallOverrides): Promise<[BigNumber]>; burn(amount: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; defaultOperators(overrides?: CallOverrides): Promise<[string[]]>; granularity(overrides?: CallOverrides): Promise<[BigNumber]>; isOperatorFor(operator: string, tokenHolder: string, overrides?: CallOverrides): Promise<[boolean]>; name(overrides?: CallOverrides): Promise<[string]>; operatorBurn(account: string, amount: BigNumberish, data: BytesLike, operatorData: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; operatorSend(sender: string, recipient: string, amount: BigNumberish, data: BytesLike, operatorData: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; revokeOperator(operator: string, overrides?: Overrides & { from?: string | Promise; }): Promise; send(recipient: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; symbol(overrides?: CallOverrides): Promise<[string]>; totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; }; authorizeOperator(operator: string, overrides?: Overrides & { from?: string | Promise; }): Promise; balanceOf(owner: string, overrides?: CallOverrides): Promise; burn(amount: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; defaultOperators(overrides?: CallOverrides): Promise; granularity(overrides?: CallOverrides): Promise; isOperatorFor(operator: string, tokenHolder: string, overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; operatorBurn(account: string, amount: BigNumberish, data: BytesLike, operatorData: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; operatorSend(sender: string, recipient: string, amount: BigNumberish, data: BytesLike, operatorData: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; revokeOperator(operator: string, overrides?: Overrides & { from?: string | Promise; }): Promise; send(recipient: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; symbol(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; callStatic: { authorizeOperator(operator: string, overrides?: CallOverrides): Promise; balanceOf(owner: string, overrides?: CallOverrides): Promise; burn(amount: BigNumberish, data: BytesLike, overrides?: CallOverrides): Promise; defaultOperators(overrides?: CallOverrides): Promise; granularity(overrides?: CallOverrides): Promise; isOperatorFor(operator: string, tokenHolder: string, overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; operatorBurn(account: string, amount: BigNumberish, data: BytesLike, operatorData: BytesLike, overrides?: CallOverrides): Promise; operatorSend(sender: string, recipient: string, amount: BigNumberish, data: BytesLike, operatorData: BytesLike, overrides?: CallOverrides): Promise; revokeOperator(operator: string, overrides?: CallOverrides): Promise; send(recipient: string, amount: BigNumberish, data: BytesLike, overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; }; filters: { "AuthorizedOperator(address,address)"(operator?: string | null, tokenHolder?: string | null): AuthorizedOperatorEventFilter; AuthorizedOperator(operator?: string | null, tokenHolder?: string | null): AuthorizedOperatorEventFilter; "Burned(address,address,uint256,bytes,bytes)"(operator?: string | null, from?: string | null, amount?: null, data?: null, operatorData?: null): BurnedEventFilter; Burned(operator?: string | null, from?: string | null, amount?: null, data?: null, operatorData?: null): BurnedEventFilter; "Minted(address,address,uint256,bytes,bytes)"(operator?: string | null, to?: string | null, amount?: null, data?: null, operatorData?: null): MintedEventFilter; Minted(operator?: string | null, to?: string | null, amount?: null, data?: null, operatorData?: null): MintedEventFilter; "RevokedOperator(address,address)"(operator?: string | null, tokenHolder?: string | null): RevokedOperatorEventFilter; RevokedOperator(operator?: string | null, tokenHolder?: string | null): RevokedOperatorEventFilter; "Sent(address,address,address,uint256,bytes,bytes)"(operator?: string | null, from?: string | null, to?: string | null, amount?: null, data?: null, operatorData?: null): SentEventFilter; Sent(operator?: string | null, from?: string | null, to?: string | null, amount?: null, data?: null, operatorData?: null): SentEventFilter; }; estimateGas: { authorizeOperator(operator: string, overrides?: Overrides & { from?: string | Promise; }): Promise; balanceOf(owner: string, overrides?: CallOverrides): Promise; burn(amount: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; defaultOperators(overrides?: CallOverrides): Promise; granularity(overrides?: CallOverrides): Promise; isOperatorFor(operator: string, tokenHolder: string, overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; operatorBurn(account: string, amount: BigNumberish, data: BytesLike, operatorData: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; operatorSend(sender: string, recipient: string, amount: BigNumberish, data: BytesLike, operatorData: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; revokeOperator(operator: string, overrides?: Overrides & { from?: string | Promise; }): Promise; send(recipient: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; symbol(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; }; populateTransaction: { authorizeOperator(operator: string, overrides?: Overrides & { from?: string | Promise; }): Promise; balanceOf(owner: string, overrides?: CallOverrides): Promise; burn(amount: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; defaultOperators(overrides?: CallOverrides): Promise; granularity(overrides?: CallOverrides): Promise; isOperatorFor(operator: string, tokenHolder: string, overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; operatorBurn(account: string, amount: BigNumberish, data: BytesLike, operatorData: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; operatorSend(sender: string, recipient: string, amount: BigNumberish, data: BytesLike, operatorData: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; revokeOperator(operator: string, overrides?: Overrides & { from?: string | Promise; }): Promise; send(recipient: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; symbol(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; }; }