/**
 * Copyright IBM Corp. 2021, 2025
 * SPDX-License-Identifier: MPL-2.0
 */
import Component from '@glimmer/component';
import { HdsCopyButtonSizeValues } from './types.ts';
import type { HdsCopyButtonSizes } from './types.ts';
import type { HdsButtonSignature } from '../../button/index';
import type { HdsClipboardModifierSignature } from '../../../../modifiers/hds-clipboard.ts';
import type { HdsIconSignature } from '../../icon/index';
import type HdsIntlService from '../../../../services/hds-intl.ts';
export declare const DEFAULT_SIZE = HdsCopyButtonSizeValues.Medium;
export declare const SIZES: HdsCopyButtonSizes[];
export declare const DEFAULT_ICON = "clipboard-copy";
export declare const SUCCESS_ICON = "clipboard-checked";
export declare const ERROR_ICON = "clipboard-x";
export declare const DEFAULT_STATUS = "idle";
export interface HdsCopyButtonSignature {
    Args: HdsButtonSignature['Args'] & {
        size?: HdsCopyButtonSizes;
        textToCopy?: HdsClipboardModifierSignature['Args']['Named']['text'];
        targetToCopy?: HdsClipboardModifierSignature['Args']['Named']['target'];
        onSuccess?: HdsClipboardModifierSignature['Args']['Named']['onSuccess'];
        onError?: HdsClipboardModifierSignature['Args']['Named']['onError'];
        ariaMessageText?: string;
    };
    Element: HdsButtonSignature['Element'];
}
export default class HdsCopyButton extends Component<HdsCopyButtonSignature> {
    readonly hdsIntl: HdsIntlService;
    private _status;
    private _timer;
    get icon(): HdsIconSignature['Args']['name'];
    get size(): HdsCopyButtonSizes;
    get classNames(): string;
    get ariaMessageText(): string;
    onSuccess: (args: HdsClipboardModifierSignature["Args"]["Named"]["onSuccess"]) => void;
    onError: (args: HdsClipboardModifierSignature["Args"]["Named"]["onError"]) => void;
    resetStatusDelayed: () => void;
}
