import { Scope } from './Scope';
import { App } from './App';
import { Enum } from '../types/Enum';
import { Text } from '../types/Text';
import { List } from '../types/List';
import { IdName } from '../types/Identity';
export declare class UseCase extends Enum {
    readonly app: App;
    readonly scopes: List<Scope>;
    constructor(app: App, name: string, id?: Text, scopes?: List<Scope>);
    with(...s: Scope[]): this;
    for(item: string | IdName): UseCase;
    static byScopes<U extends UseCase>(...s: Scope[]): List<U>;
}
