import StylableElement from '../StylableElement';
import { TemplateResult } from 'lit';
import './resize-input';
import { SimpleSelector } from '../model/SimpleSelector';
import { ComplexSelector } from '../model/ComplexSelector';
import './inline-select';
import './compound-selector';
/**
 * A component to display and edit a complex selector
 * A complex selector is a main selector, an operator, and a related selector
 * @emits change
 * @emits rename (when a simple selector in the main compound selector is renamed)
 */
export default class ComplexSelectorComponent extends StylableElement {
    /**
     * The selector to display
     */
    get value(): ComplexSelector | undefined;
    set value(value: ComplexSelector | string | undefined);
    private _value;
    /**
     * A list of all the classes, IDs, tags, custom tags, attributes, custom attributes
     * that are available in the document, applicable to the current selection
     */
    suggestions: SimpleSelector[];
    /**
     * A list of all the classes, IDs, tags, custom tags, attributes, custom attributes
     * that are available to the related selector
     */
    relations: SimpleSelector[];
    hasBody: boolean;
    static styles: import("lit").CSSResult;
    render(): TemplateResult;
    private changeOperator;
    private addOperator;
    private changeRelatedSelector;
    toString(): string;
}
//# sourceMappingURL=complex-selector.d.ts.map