import { Context, ContextFactoryOptions, ContextDefaultState } from './context';
import { kSerializeData } from '../../utils/constants';
export type DonutWithdrawContextType = 'donut_withdraw';
export type DonutWithdrawContextSubType = 'donut_money_withdraw' | 'donut_money_withdraw_error';
export interface IDonutWithdrawContextPayload {
    reason?: string;
    amount?: number;
    amount_without_fee?: number;
}
export type DonutWithdrawContextOptions<S> = ContextFactoryOptions<IDonutWithdrawContextPayload, S>;
export declare class DonutWithdrawContext<S = ContextDefaultState> extends Context<IDonutWithdrawContextPayload, S, DonutWithdrawContextType, DonutWithdrawContextSubType> {
    constructor(options: DonutWithdrawContextOptions<S>);
    /**
     * Checks if error for withdraw
     */
    get isError(): boolean;
    /**
     * Returns the amount
     */
    get amount(): number;
    /**
     * Returns the amount without fee
     */
    get amountWithoutFee(): number;
    /**
     * Returns the reason for the error
     */
    get reason(): string;
    /**
     * Returns the custom data
     */
    [kSerializeData](): object;
}
