/**
 * Abstract interface that value-based arguments must implement
 */
export interface IArgument {
    /**
     * Name of the argument
     */
    name: string;
    /**
     * Value of the argument.
     */
    value: any;
}
/**
 * An name/value pair argument
 */
export declare class Argument implements IArgument {
    /**
     * Name of the argument.
     */
    name: string;
    /**
     * Value of the argument
     */
    value: any;
    /**
     * Build a new Argument.
     *
     * @param name Name of the argument
     * @param value Value of the argument.
     */
    constructor(name: string, value: any);
}
/**
 * Specialty argument class that will auto-coerce a Boolean to a perl Boolean
 */
export declare class PerlBooleanArgument extends Argument {
    /**
     * Build a new Argument
     * @param  name  Name of the argument
     * @param value Value of the argument. Will be serialized to use perl's Boolean rules.
     */
    constructor(name: string, value: boolean);
}
