import { Signer, ContractFactory, Overrides } from "ethers";
import type { Provider, TransactionRequest } from "@ethersproject/providers";
import type { PromiseOrValue } from "../../../../../../common";
import type { Authorizable, AuthorizableInterface } from "../../../../../../src/sector-token/src/mocks/libraries/Authorizable";
type AuthorizableConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class Authorizable__factory extends ContractFactory {
    constructor(...args: AuthorizableConstructorParams);
    deploy(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<Authorizable>;
    getDeployTransaction(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): TransactionRequest;
    attach(address: string): Authorizable;
    connect(signer: Signer): Authorizable__factory;
    static readonly bytecode = "0x608060405234801561001057600080fd5b50600080546001600160a01b031916331790556102b9806100326000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806313af40351461006757806327c97fa51461007c5780638da5cb5b1461008f578063b6a5d7de146100bf578063b9181611146100d2578063fe9fbb8014610105575b600080fd5b61007a610075366004610229565b610131565b005b61007a61008a366004610229565b610186565b6000546100a2906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61007a6100cd366004610229565b6101d1565b6100f56100e0366004610229565b60016020526000908152604090205460ff1681565b60405190151581526020016100b6565b6100f5610113366004610229565b6001600160a01b031660009081526001602052604090205460ff1690565b6000546001600160a01b031633146101645760405162461bcd60e51b815260040161015b90610259565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146101b05760405162461bcd60e51b815260040161015b90610259565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b031633146101fb5760405162461bcd60e51b815260040161015b90610259565b610226816001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b50565b60006020828403121561023b57600080fd5b81356001600160a01b038116811461025257600080fd5b9392505050565b60208082526010908201526f29b2b73232b9103737ba1037bbb732b960811b60408201526060019056fea2646970667358221220d6305f9d7d4fdd30725d00eb46372739590693d28744444c323bfff98eabef2464736f6c63430008100033";
    static readonly abi: readonly [{
        readonly inputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "constructor";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "who";
            readonly type: "address";
        }];
        readonly name: "authorize";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly name: "authorized";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "who";
            readonly type: "address";
        }];
        readonly name: "deauthorize";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "who";
            readonly type: "address";
        }];
        readonly name: "isAuthorized";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "owner";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "who";
            readonly type: "address";
        }];
        readonly name: "setOwner";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }];
    static createInterface(): AuthorizableInterface;
    static connect(address: string, signerOrProvider: Signer | Provider): Authorizable;
}
export {};
