import { ArgumentValue, CdmCorpusContext, CdmDocumentDefinition, CdmDataTypeReference, CdmObject, CdmObjectDefinitionBase, cdmObjectType, resolveOptions, VisitCallback } from '../internal';
export declare class CdmParameterDefinition extends CdmObjectDefinitionBase {
    private TAG;
    explanation: string;
    name: string;
    defaultValue: ArgumentValue;
    required: boolean;
    dataTypeRef: CdmDataTypeReference;
    static get objectType(): cdmObjectType;
    constructor(ctx: CdmCorpusContext, name: string);
    getObjectType(): cdmObjectType;
    copy(resOpt?: resolveOptions, host?: CdmObject): CdmObject;
    validate(): boolean;
    getExplanation(): string;
    getName(): string;
    isDerivedFrom(baseDef: string, resOpt?: resolveOptions): boolean;
    getDefaultValue(): ArgumentValue;
    getRequired(): boolean;
    /**
     * @internal
     */
    constTypeCheck(resOpt: resolveOptions, wrtDoc: CdmDocumentDefinition, argumentValue: ArgumentValue): ArgumentValue;
    visit(pathFrom: string, preChildren: VisitCallback, postChildren: VisitCallback): boolean;
    /**
     * Given an initial path, returns this object's declared path
     * @internal
     */
    fetchDeclaredPath(pathFrom: string): string;
}
