import { DefinedButtonStateStyles } from '../../../../../types/buttonInternal';
import { FileAttachments } from '../../fileAttachments/fileAttachments';
import { SubmitButtonStyles } from '../../../../../types/submitButton';
import { ServiceIO } from '../../../../../services/serviceIO';
import { AiAssistant } from '../../../../../aiAssistant';
import { Messages } from '../../../messages/messages';
import { InputButton } from '../inputButton';
type Styles = DefinedButtonStateStyles<SubmitButtonStyles>;
export declare class SubmitButton extends InputButton<Styles> {
    private _isRequestInProgress;
    private _isLoadingActive;
    private readonly _serviceIO;
    private readonly _messages;
    private readonly _inputElementRef;
    private readonly _abortStream;
    private readonly _innerElements;
    private readonly _fileAttachments;
    private _isSVGLoadingIconOverriden;
    constructor(aiAssistant: AiAssistant, inputElementRef: HTMLElement, messages: Messages, serviceIO: ServiceIO, fileAttachments: FileAttachments);
    private createInnerElements;
    private static createButtonContainerElement;
    private static createSubmitIconElement;
    private static createLoadingIconElement;
    private static createStopIconElement;
    private attemptOverwriteLoadingStyle;
    submitFromInput(): void;
    submit(userText: string): Promise<void>;
    private stopStream;
    private changeToStopIcon;
    private changeToLoadingIcon;
    private changeToSubmitIcon;
}
export {};
//# sourceMappingURL=submitButton.d.ts.map