import { Context } from '../runtime/context';
export declare class Expression {
    localId?: string;
    locator?: string;
    arg?: Expression;
    args?: Expression[];
    constructor(json: any);
    execute(ctx: Context): Promise<any>;
    exec(_ctx: Context): Promise<any>;
    execArgs(ctx: Context): Promise<any>;
    /**
     * Function used in error reporting during execution. Retrieves the source library from
     * the context if it exists, or recursively traverses the context's parents until a source
     * library identifier and version are found.
     */
    getRecursiveLibraryIdentifier(ctx: Context): string;
}
export declare class UnimplementedExpression extends Expression {
    json: any;
    constructor(json: any);
    exec(_ctx: Context): Promise<void>;
}
