import { Operation } from './Operation';
import { Log } from '../Log';
import { AbstractOperation } from './internal';
import { Trampoline } from '../Trampoline';
export declare class FlatMappedOperation<Outer, Intermediate, Inner, Action> extends AbstractOperation<Outer, Inner, Action> {
    private readonly operation;
    private readonly fn;
    constructor(operation: Operation<Outer, Intermediate, Action>, fn: (intermediate: Intermediate) => Operation<Outer, Inner, Action>);
    execute(log: Log<Outer, Action>): Trampoline<Outer, Inner, Action>;
}
