import { EventEmitter } from '@angular/core';
import { FormArray, FormControl, FormGroup } from '@angular/forms';
import { CustomTemplatesService } from '../../custom-templates.service';
import { ModalContext } from '../../types';
import { ChatClientService } from '../../chat-client.service';
import { NotificationService } from '../../notification.service';
import * as i0 from "@angular/core";
/**
 *
 */
export declare class PollComposerComponent {
    readonly customTemplatesService: CustomTemplatesService;
    private chatService;
    private notificationService;
    /**
     * Emitted when a poll is created, the poll id is emitted
     */
    pollCompose: EventEmitter<string>;
    /**
     * Emitted when the poll composing is cancelled
     */
    cancel: EventEmitter<void>;
    formGroup: FormGroup<{
        name: FormControl<string | null>;
        options: FormArray<FormControl<string | null>>;
        multiple_answers: FormControl<boolean | null>;
        maximum_number_of_votes: FormControl<null>;
        is_anonymous: FormControl<boolean | null>;
        allow_user_suggested_options: FormControl<boolean | null>;
        allow_answers: FormControl<boolean | null>;
    }>;
    isModalOpen: boolean;
    private formContent;
    constructor(customTemplatesService: CustomTemplatesService, chatService: ChatClientService, notificationService: NotificationService);
    optionChanged(index: number): void;
    get options(): FormArray<FormControl<string | null>>;
    addOption(): void;
    removeLastOption(): void;
    getModalContext(): ModalContext;
    createPoll(): Promise<void>;
    static ɵfac: i0.ɵɵFactoryDeclaration<PollComposerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PollComposerComponent, "stream-poll-composer", never, {}, { "pollCompose": "pollCompose"; "cancel": "cancel"; }, never, never, false, never>;
}
