import { SDKContractGenericResponse } from "../models/response";
import SDKBaseContract from "./base.contract";
import { AutIDContractEventType, AutIDContractFunctions } from "@aut-labs/abi-types";
import { MultiSigner } from "../models/models";
import { ISDKBiconomyWrapper } from "../models/IBiconomyWrapper";
import { Overrides } from "ethers";
export declare class AutIDContract extends SDKBaseContract<AutIDContractFunctions, AutIDContractEventType> {
    constructor(address: string, multiSigner: MultiSigner, biconomyWrapper: ISDKBiconomyWrapper);
    getTokenIdForUserName(username: string): Promise<SDKContractGenericResponse<number>>;
    listUserHubs(holder: string): Promise<SDKContractGenericResponse<string[]>>;
    ownerOf(tokenID: string): Promise<SDKContractGenericResponse<string>>;
    balanceOf(owner: string): Promise<SDKContractGenericResponse<number>>;
    getNextTokenID(): Promise<SDKContractGenericResponse<string>>;
    mintAndJoin(username: string, url: string, role: number, commitment: number, hubAddress: string, overrides?: Overrides): Promise<SDKContractGenericResponse<string>>;
    joinHub(role: number, commitment: number, hubAddress: string): Promise<SDKContractGenericResponse<string>>;
    withdraw(hubAddress: string): Promise<SDKContractGenericResponse>;
    setMetadataUri(metadataUri: string): Promise<SDKContractGenericResponse>;
}
