import { ModelData, Model } from "@kubernetes-models/base";
/**
 * ValuesReference contains a reference to a resource containing Helm values,
 * and optionally the key they can be found at.
 */
export interface IValuesReference {
    /**
     * Kind of the values referent, valid values are ('Secret', 'ConfigMap').
     */
    "kind": "Secret" | "ConfigMap";
    /**
     * Name of the values referent. Should reside in the same namespace as the
     * referring resource.
     */
    "name": string;
    /**
     * Optional marks this ValuesReference as optional. When set, a not found error
     * for the values reference is ignored, but any ValuesKey, TargetPath or
     * transient error will still result in a reconciliation failure.
     */
    "optional"?: boolean;
    /**
     * TargetPath is the YAML dot notation path the value should be merged at. When
     * set, the ValuesKey is expected to be a single flat value. Defaults to 'None',
     * which results in the values getting merged at the root.
     */
    "targetPath"?: string;
    /**
     * ValuesKey is the data key where the values.yaml or a specific value can be
     * found at. Defaults to 'values.yaml'.
     * When set, must be a valid Data Key, consisting of alphanumeric characters,
     * '-', '_' or '.'.
     */
    "valuesKey"?: string;
}
/**
 * ValuesReference contains a reference to a resource containing Helm values,
 * and optionally the key they can be found at.
 */
export declare class ValuesReference extends Model<IValuesReference> implements IValuesReference {
    "kind": "Secret" | "ConfigMap";
    "name": string;
    "optional"?: boolean;
    "targetPath"?: string;
    "valuesKey"?: string;
    constructor(data?: ModelData<IValuesReference>);
}
export type { IValuesReference as IComGithubFluxcdHelmControllerApiV2beta1ValuesReference, ValuesReference as ComGithubFluxcdHelmControllerApiV2beta1ValuesReference };
