import type { IShapeUnion, IApiScalarShape, IApiNodeShape, IApiArrayShape, IApiUnionShape, IApiPropertyShape } from '@api-client/core/amf/definitions/Shapes.js';
import type { OperationParameter } from '../types.js';
/**
 * A library to create a list of ApiParameters from a query string value.
 */
export declare class QueryParameterProcessor {
    /**
     * @param schema
     * @param binding The parameter binding.
     * @param source Optional parameter source.
     */
    collectOperationParameters(schema: IShapeUnion, binding: string, source?: string): OperationParameter[];
    /**
     * @param shape
     * @param binding The parameter binding.
     * @param source Optional parameter source.
     */
    scalarShapeOperationParameter(shape: IApiScalarShape, binding: string, source?: string): OperationParameter;
    /**
     * @param shape
     * @param binding The parameter binding.
     * @param source Optional parameter source.
     */
    nodeShapeOperationParameter(shape: IApiNodeShape, binding: string, source?: string): OperationParameter[];
    /**
     * @param property The property to build the parameter for.
     * @param binding The parameter binding.
     * @param source Optional parameter source.
     */
    parameterOperationParameter(property: IApiPropertyShape, binding: string, source?: string): OperationParameter;
    /**
     * @param shape
     * @param binding The parameter binding.
     * @param source Optional parameter source.
     */
    arrayShapeOperationParameter(shape: IApiArrayShape, binding: string, source?: string): OperationParameter | OperationParameter[];
    /**
     * @param shape
     * @param binding The parameter binding.
     * @param source Optional parameter source.
     */
    unionShapeOperationParameter(shape: IApiUnionShape, binding: string, source?: string): OperationParameter[] | undefined;
}
//# sourceMappingURL=QueryParameterProcessor.d.ts.map