import { ParameterValue } from './';
/** Detailed information about a report parameter's configuration. */
export declare class ParameterInfo {
    /** The name of the parameter, which is used to identify it in the report. */
    name: string;
    /** The type of the parameter, which can be used to determine how it should be rendered or processed. */
    type: string;
    /** The text description of the parameter, which is used to be displayed to the user. */
    text: string;
    /** Indicates whether the parameter can accept multiple values. */
    multivalue: boolean;
    /** Indicates whether the parameter is required to have a value. */
    allowNull: boolean;
    /** Indicates whether the parameter can be left blank (applies only to parameters of type string). */
    allowBlank: boolean;
    /** Indicates whether the parameter is visible in the user interface. */
    isVisible: boolean;
    /**
     * Indicates whether the viewer's report source is automatically updated once the user changes the parameter's value,
     * or whether the user should also click the viewer's preview button to reflect the changes.
     */
    autoRefresh: boolean;
    /** Indicates whether the parameter has cascading child parameters that depend on its value. */
    hasChildParameters: boolean;
    /** An array of child parameters that depend on this parameter's value. */
    childParameters: ParameterInfo[];
    /** (optional) An array of available values for the parameter, which can be used to populate dropdowns or lists. */
    availableValues: ParameterValue[];
    /** An object representing the current value of the parameter, which can be a single value or an array of values if the parameter allows multiple selections. */
    value: any;
    /** The unique identifier for the parameter. */
    id: string;
    /** A label for the parameter. */
    label: string;
}
