import { nothing, PropertyValues, TemplateResult } from 'lit';
import { type IRequestAuthorization } from '@api-client/core/models/RequestAuthorization.js';
import type { IApiParameter, IApiParametrizedSecurityScheme } from '@api-client/core/amf/definitions/Api.js';
import { Authorization } from '../../authorization/ui/Authorization.js';
import { AmfParameters } from '../../../amf/lib/AmfParameters.js';
import type { IPassThroughAuthorization } from '@api-client/core/models/Authorization.js';
import type { IShapeUnion } from '@api-client/core/amf/definitions/Shapes.js';
export default class AmfPassThrough extends Authorization {
    /**
     * The in-memory key where the values are stored.
     */
    accessor security: IApiParametrizedSecurityScheme | undefined;
    protected amfParameters: AmfParameters;
    accessor schemeName: string | undefined;
    constructor();
    protected willUpdate(cp: PropertyValues<this>): void;
    protected handleParamChange(): void;
    protected ensureConfig(): IRequestAuthorization;
    protected restoreValues(): void;
    appendQueryString(queryString: IShapeUnion): void;
    /**
     * Appends a list of parameters to the list of rendered parameters.
     * @param list
     * @param source
     * @param clear When set it clears the previously set parameters
     */
    appendToParams(list: IApiParameter[], source: 'header' | 'query', clear?: boolean): void;
    /**
     * Updates, if applicable, query parameter value.
     *
     * This does nothing if the query parameter has not been defined for the current
     * scheme.
     *
     * @param name The name of the changed parameter
     * @param newValue A value to apply. May be empty but must be defined.
     */
    updateQueryParameter(name: string, newValue: string): void;
    /**
     * Updates, if applicable, header value.
     * This is supported for RAML custom scheme and Pass Through
     * that operates on headers model which is only an internal model.
     *
     * This does nothing if the header has not been defined for current
     * scheme.
     *
     * @param name The name of the changed header
     * @param newValue A value to apply. May be empty but must be defined.
     */
    updateHeader(name: string, newValue: string): void;
    serialize(): IPassThroughAuthorization;
    checkValidity(): boolean;
    render(): TemplateResult;
    protected renderEditor(): TemplateResult | typeof nothing;
    headersTemplate(): TemplateResult | typeof nothing;
    queryTemplate(): TemplateResult | typeof nothing;
    protected renderHeader(): TemplateResult | typeof nothing;
}
//# sourceMappingURL=AmfPassThrough.d.ts.map