You can actually make the method private in the implementing class, if you make an explicit interface implementation:
public interface IMyInterface
{
    bool GetMyInfo(string request);
}
public class MyClass : IMyInterface
{
    public void SomePublicMethod() { }
    bool IMyInterface.GetMyInfo(string request)
    {
        // implementation goes here
    }
}
This approach means that GetMyInfo will not be part of the public interface of MyClass. It can be accessed only by casting a MyClass instance to IMyInterface:
MyClass instance = new MyClass();
// this does not compile
bool result = instance.GetMyInfo("some request"); 
// this works well on the other hand
bool result = ((IMyInterface)instance).GetMyInfo("some request");
So, in the context of the interface, all its members will be public. They can be hidden from the public interface of an implementing class, but there is always the possibility to make a type cast to the instance and access the members that way.