import { Address } from "./commonTypes";
/**
 * Methods for querying information about an Avatar's controller.
 * Use it by:
 *
 * let controllerService = new ControllerService(avatarAddress);
 *
 */
export declare class ControllerService {
    private isUController;
    private avatarAddress;
    private avatar;
    private controllerAddress;
    private controller;
    constructor(avatarAddress: Address);
    /**
     * Returns promise of whether avatar has a universal controller
     */
    getIsUController(): Promise<boolean>;
    /**
     * Returns promise of the address of the controller
     */
    getControllerAddress(): Promise<string>;
    /**
     * Returns promise of a Truffle contract wrapper for the controller.  Could be
     * either UController or Controller.  You can know which one
     * by checking the ControllerService instance property `isUController`.
     */
    getController(): Promise<any>;
    /**
     * Returns promise of the Avatar Truffle contract wrapper.
     * Returns undefined if not found.
     */
    private getAvatar();
}
