Since you're not using a child scope, you run the risk of clobbering the developer's variables. What I recommend doing is instead putting all the values and functions you use inside a controller. Checkout this example: https://github.com/angular-ui/ui-select/blob/master/src/select.js#L297-L298 as a great way to package things.

The nifty part is this will allow other developers to inject your controller into their directive and expand upon it while gaining access to the methods and properties you use.