import { LitElement } from 'lit';
import type { InitializableComponent } from '../../../decorators/types';
import type { CommerceBindings } from '../atomic-commerce-interface/atomic-commerce-interface';
declare const AtomicProductFieldCondition_base: import("../../../mixins/mixin-common").Constructor<{
    injectStyles(dynamicStyles?: import("lit").CSSResultGroup): Promise<void>;
}> & typeof LitElement;
/**
 * The `atomic-product-field-condition` component renders its children only when all of the conditions specified through its props are satisfied.
 * The condition properties can be based on any top-level product property of the `product` object, not restricted to fields (for example, `ec_name`).
 *
 * @slot default - The content to render if the conditions are met.
 */
export declare class AtomicProductFieldCondition extends AtomicProductFieldCondition_base implements InitializableComponent<CommerceBindings> {
    bindings: CommerceBindings;
    error: Error;
    private productController;
    /**
     * A condition that is satisfied when the specified field is defined on a product (for example, `if-defined="cat_gender"` is satisfied when a product has the `cat_gender` field).
     */
    ifDefined?: string;
    /**
     * A condition that is satisfied when the specified field is not defined on a product (for example, `if-not-defined="cat_gender"` is satisfied when a product does not have the `cat_gender` field).
     */
    ifNotDefined?: string;
    /**
     * A condition that is satisfied when the specified field matches one of the specified values on a product (for example, `must-match-ec_color="Pink,Purple"` is satisfied when a product is either pink or purple).
     * @type {Record<string, string[]>}
     */
    mustMatch: Record<string, string[]>;
    /**
     * A condition that is satisfied when the specified field does not match any of the specified values on a product (for example, `must-not-match-ec_color="Green,Black"` is satisfied when a product is neither green nor black).
     * @type {Record<string, string[]>}
     */
    mustNotMatch: Record<string, string[]>;
    initialize(): void;
    private get conditions();
    render(): import("lit-html").TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'atomic-product-field-condition': AtomicProductFieldCondition;
    }
}
export {};
