from _typeshed import Incomplete

class ResourceInterface:
    def attr(self, *args) -> Resource: ...
    def filter(self, func) -> Resource: ...
    def transform(self, key, func) -> Resource: ...
    def calculate(self, key, func) -> Resource: ...
    def eq(self, key, value) -> Resource: ...
    def ne(self, key, value) -> Resource: ...
    def in_(self, key, value) -> Resource: ...
    def contains(self, key, value) -> Resource: ...
    def not_contains(self, key, value) -> Resource: ...
    def starts_with(self, key, value) -> Resource: ...
    def ends_with(self, key, value) -> Resource: ...
    def gt(self, key, value) -> Resource: ...
    def lt(self, key, value) -> Resource: ...


class Resource:
    def list(self) -> list: ...
    def dict(self) -> dict: ...
    def csv(self, flat=False) -> str: ...
    def do(self, action: callable) -> None: ...


class Session(Resource):
    console: Incomplete
