import type { IEnvelope, IRecipient } from '@verdocs/js-sdk';
import { EventEmitter } from '../../../stencil-public-runtime';
import { VerdocsEndpoint } from '@verdocs/js-sdk';
import { SDKError } from '../../../utils/errors';
interface IHistoryEntry {
    icon: string;
    message: string;
    date: Date;
}
/**
 * Displays a file upload mechanism suitable for the first step of creating a template.
 * This is typically the first step in a template creation workflow.
 */
export declare class VerdocsEnvelopeSidebar {
    private envelopeListenerId;
    /**
     * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.
     */
    endpoint: VerdocsEndpoint;
    /**
     * The envelope ID to render. Set ONE OF templateId or envelopeId. If both are set, envelopeId will be ignored.
     */
    envelopeId: string;
    /**
     * Event fired if an error occurs. The event details will contain information about the error. Most errors will
     * terminate the process, and the calling application should correct the condition and re-render the component.
     */
    sdkError: EventEmitter<SDKError>;
    /**
     * Event fired when the envelope is updated in any way. May be used for tasks such as cache invalidation or reporting to other systems.
     */
    envelopeUpdated: EventEmitter<{
        endpoint: VerdocsEndpoint;
        envelope: IEnvelope;
        event: string;
    }>;
    /**
     * Event fired when the sidebar is opened or closed.
     */
    toggle: EventEmitter<{
        open: boolean;
    }>;
    /**
     * Event fired when the user clicks Send Another in the Manage Recipients dialog. It is up to the host application
     * to redirect the user to the appropriate next workflow step.
     */
    another: EventEmitter<{
        envelope: IEnvelope;
    }>;
    activeTab: number;
    panelOpen: boolean;
    showRecipientDialog: string;
    showCancelDialog: boolean;
    showReinviteDialog: string;
    remindersEnabled: boolean;
    updatingReminders: boolean;
    initialReminder: number | null;
    followupReminders: number | null;
    loading: boolean;
    envelope: IEnvelope | null;
    componentWillLoad(): Promise<void>;
    disconnectedCallback(): void;
    listenToEnvelope(): Promise<void>;
    unlistenToEnvelope(): void;
    sortEnvelopeRecipients(): void;
    setTab(tab: number): void;
    canResendRecipient(recipient: IRecipient): boolean;
    handleRecipientAction(recipient: IRecipient, id: string): void;
    handleCancelEnvelope(): void;
    prepareHistoryEntries(): IHistoryEntry[];
    handleToggleReminders(): void;
    handleSetReminders(initial_reminder: number | null, followup_reminders: number | null): void;
    render(): any;
}
export {};
