import type { ExecutionDetails, GrafastResultsList, UnbatchedExecutionExtra } from "../interfaces.ts";
import type { Step } from "../step.ts";
import { UnbatchedStep } from "../step.ts";
export type ActualKeyByDesiredKey = {
    [desiredKey: string]: string;
};
/**
 * A plan that returns an object resulting from extracting the given
 * `actualKey` from the input and storing it as the `desiredKey` in the output.
 */
export declare class RemapKeysStep extends UnbatchedStep {
    static $$export: {
        moduleName: string;
        exportName: string;
    };
    isSyncAndSafe: boolean;
    allowMultipleOptimizations: boolean;
    private mapper;
    private readonly actualKeyByDesiredKey;
    constructor($plan: Step, actualKeyByDesiredKey: ActualKeyByDesiredKey);
    toStringMeta(): string;
    optimize(): Step;
    finalize(): void;
    execute({ count, values: [values0], }: ExecutionDetails): GrafastResultsList<any>;
    unbatchedExecute(_extra: UnbatchedExecutionExtra, value: any): any;
    deduplicate(peers: RemapKeysStep[]): RemapKeysStep[];
}
/**
 * A plan that returns an object resulting from extracting the given
 * `actualKey` from the input and storing it as the `desiredKey` in the output.
 */
export declare function remapKeys($step: Step, actualKeyByDesiredKey: {
    [desiredKey: string]: string;
}): RemapKeysStep;
//# sourceMappingURL=remapKeys.d.ts.map