import * as i0 from '@angular/core';

/**
 * A layout component that positions button elements relative to input fields.
 * Enables the creation of input groups with leading or trailing action buttons,
 * commonly used for search inputs, password visibility toggles, or clear actions.
 *
 * @usageNotes
 * ### Button at end of input (default)
 * ```html
 * <eui-input-button>
 *   <input euiInputText placeholder="Search..." />
 *   <button euiButton euiPrimary>Search</button>
 * </eui-input-button>
 * ```
 *
 * ### Button at start of input
 * ```html
 * <eui-input-button [euiButtonPositionStart]="true">
 *   <button euiIconButton icon="filter" ariaLabel="Filter"></button>
 *   <input euiInputText placeholder="Filter results..." />
 * </eui-input-button>
 * ```
 *
 * ### Accessibility
 * - Button and input maintain separate focus states
 * - Ensure button has descriptive label or aria-label
 * - Tab order follows visual layout
 *
 * ### Notes
 * - Default position is end (right in LTR)
 * - When `euiButtonPositionStart` is true, it overrides end positioning
 * - Works with all button variants (euiButton, euiIconButton)
 * - Commonly used for search, clear, and submit actions
 */
declare class EuiInputButtonComponent {
    get cssClasses(): string;
    /**
     * Positions the button at the start (left in LTR, right in RTL) of the input field.
     * When true, overrides euiButtonPositionEnd. Defaults to false.
     */
    euiButtonPositionStart: boolean;
    /**
     * Positions the button at the end (right in LTR, left in RTL) of the input field.
     * Ignored when euiButtonPositionStart is true. Defaults to true.
     */
    euiButtonPositionEnd: boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiInputButtonComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiInputButtonComponent, "eui-input-button", never, { "euiButtonPositionStart": { "alias": "euiButtonPositionStart"; "required": false; }; "euiButtonPositionEnd": { "alias": "euiButtonPositionEnd"; "required": false; }; }, {}, never, ["*", "button"], true, never>;
    static ngAcceptInputType_euiButtonPositionStart: unknown;
    static ngAcceptInputType_euiButtonPositionEnd: unknown;
}

declare const EUI_INPUT_BUTTON: readonly [typeof EuiInputButtonComponent];

export { EUI_INPUT_BUTTON, EuiInputButtonComponent };
//# sourceMappingURL=eui-components-eui-input-button.d.ts.map
