import * as i0 from '@angular/core';
import * as i1 from '@eui/components/shared';
import { BaseStatesDirective } from '@eui/components/shared';

/**
 * @description
 * A component that represents an individual item within an input group add-on.
 * Can be used either as an attribute selector on a div or as a custom element.
 */
declare class EuiInputGroupAddOnItemComponent {
    /**
     * @description
     * Input property for setting the data-e2e attribute value.
     * Used for end-to-end testing purposes.
     *
     * @default 'eui-input-group-addon-item'
     */
    e2eAttr: string;
    /**
     * @description
     * Getter that returns the CSS class for the component.
     * Bound to the host element's class attribute.
     *
     * @returns {string} The CSS class name
     */
    get cssClasses(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiInputGroupAddOnItemComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiInputGroupAddOnItemComponent, "div[euiInputGroupAddOnItem], eui-input-group-addon-item", never, { "e2eAttr": { "alias": "e2eAttr"; "required": false; }; }, {}, never, ["*"], true, never>;
}

/**
 * @description
 * A component that serves as a container for input group add-on items.
 * Can be used either as an attribute selector on a div or as a custom element.
 */
declare class EuiInputGroupAddOnComponent {
    /**
     * @description
     * Input property for setting the data-e2e attribute value.
     * Used for end-to-end testing purposes.
     *
     * @default 'eui-input-group-addon'
     */
    e2eAttr: string; /**
     * @description
     * Getter that returns the CSS class for the component.
     * Bound to the host element's class attribute.
     *
     * @returns {string} The CSS class name
     */
    get cssClasses(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiInputGroupAddOnComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiInputGroupAddOnComponent, "div[euiInputGroupAddOn], eui-input-group-addon", never, { "e2eAttr": { "alias": "e2eAttr"; "required": false; }; }, {}, never, ["*"], true, never>;
}

/**
 * @description
 * A component that serves as the main container for input group elements.
 * Can only be used as an attribute selector on a div element.
 */
declare class EuiInputGroupComponent {
    /**
     * @description
     * Input property for setting the data-e2e attribute value.
     * Used for end-to-end testing purposes.
     *
     * @default 'eui-input-group'
     */
    e2eAttr: string;
    /**
     * @description
     * Getter that returns the CSS class for the component.
     * Bound to the host element's class attribute.
     *
     * @returns {string} The CSS class name
     */
    get cssClasses(): string;
    /**
     * @description
     * Protected property that defines the type of the input group.
     * Bound to the host element's type attribute.
     *
     * @protected
     * @default 'inputGroup'
     */
    protected type: string;
    baseStatesDirective: BaseStatesDirective;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiInputGroupComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiInputGroupComponent, "div[euiInputGroup]", never, { "e2eAttr": { "alias": "e2eAttr"; "required": false; }; }, {}, never, ["*"], true, [{ directive: typeof i1.BaseStatesDirective; inputs: { "euiSizeS": "euiSizeS"; "euiSizeVariant": "euiSizeVariant"; }; outputs: {}; }]>;
}

declare const EUI_INPUT_GROUP: readonly [typeof EuiInputGroupComponent, typeof EuiInputGroupAddOnComponent, typeof EuiInputGroupAddOnItemComponent];

export { EUI_INPUT_GROUP, EuiInputGroupAddOnComponent, EuiInputGroupAddOnItemComponent, EuiInputGroupComponent };
//# sourceMappingURL=eui-components-eui-input-group.d.ts.map
