import { File, Selector, ContextAbstract } from "../../../../mdk-core/src";
declare type ActionLogicFn = (context: ActionLogic) => Advancement;
declare class ActionLogic {
    #private;
    constructor(context: Advancement, type: 'grant' | 'revoke');
    eveything(selector: Selector): Advancement;
    only(selector: Selector, advancement: string, criterion?: string): Advancement;
    from(selector: Selector, advancement: string): Advancement;
    through(selector: Selector, advancement: string): Advancement;
    until(selector: Selector, advancement: string): Advancement;
}
export declare class Advancement extends ContextAbstract {
    constructor(context: File);
    grant(fn: ActionLogicFn): Advancement;
    revoke(fn: ActionLogicFn): Advancement;
}
export {};
