def InputPort(dynamic, name, environment, queueSizeSamples=1,
    queueSizeSeconds=None):
    """
    Creates an InputPortInterface instance with an actual implementation attached. Will be dynamically implemented by
    the nexxT framework. This is done to prevent having implementation details in the class

    Note: import this function with 'from next.interface import InputPort'.

    :param dynamic: boolean whether this is a dynamic input port
    :param name: the name of the port
    :param environment: the FilterEnvironment instance
    :param queueSizeSamples: the size of the queue in samples
    :param queueSizeSeconds: the size of the queue in seconds
    :return: an InputPort instance (actually an InputPortImpl instance)
    """
    raise NotImplementedError()
