import type { ITakeChain } from '../interfaces/ITakeChain';
import type { Takeable } from '../interfaces/Takeable';
/**
 * Class implementing take chain.
 *
 * @de
 *
 * @private util of `@promptbook/color`
 */
export declare class TakeChain<TValue extends Takeable> implements ITakeChain<TValue> {
    value: TValue;
    constructor(value: TValue);
    then<TResultValue extends Takeable>(callback: (oldValue: TValue) => TResultValue): TResultValue & ITakeChain<TResultValue>;
}
