import { EventEmitter } from '../../../stencil-public-runtime';
import { IEnvelope, TEnvelopeStatus, VerdocsEndpoint } from '@verdocs/js-sdk';
import { SDKError } from '../../../utils/errors';
/**
 * Displays a list of envelopes matching specified conditions.
 */
export declare class VerdocsEnvelopesList {
    /**
     * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.
     */
    endpoint: VerdocsEndpoint;
    /**
     * The filtered view to display. "completed" will show envelopes that have been submitted. "action" will
     * show envelopes where the user is a recipient and the envelope is not completed. "waiting" will show
     * only envelopes where the user is the sender and the envelope is not completed.
     */
    view?: 'all' | 'inbox' | 'sent' | 'completed' | 'action' | 'waiting';
    /**
     * The status value to filter by
     */
    status: TEnvelopeStatus | 'all';
    /**
     * The sort field to use
     */
    sort: 'name' | 'created_at' | 'updated_at' | 'canceled_at' | 'status';
    /**
     * If set, filter envelopes by the specified string.
     */
    match: string;
    /**
     * If set, filter envelopes by the specified "containing" value.
     */
    /**
     * Whether or not pagination should be enabled.
     */
    showPagination: boolean;
    /**
     * The number of rows to display per page.
     */
    rowsPerPage: number;
    /**
     * The initial page number to select. Pagination is internally controlled but may be overriden by the
     * host applicaiton.
     */
    selectedPage: number;
    /**
     * Event fired when the user changes their view. Host applications can use this to save the user's preferences.
     */
    changeView: EventEmitter<'all' | 'inbox' | 'sent' | 'completed' | 'action' | 'waiting'>;
    /**
     * Event fired when the user changes their status filter. Host applications can use this to save the user's preferences.
     */
    changeStatus: EventEmitter<TEnvelopeStatus | 'all'>;
    /**
     * Event fired when the user changes their sort order. Host applications can use this to save the user's preferences.
     */
    changeSort: EventEmitter<'name' | 'created_at' | 'updated_at' | 'canceled_at' | 'status'>;
    /**
     * Event fired when the user changes the match filter. This is fired for every inputChange event (every character
     * typed). This event is provided for balance with the other events, but host applications should generally not
     * save this value. Users might appreciate applications remembering their sorting or filtering preferences, but
     * probably not their search terms.
     */
    changeMatch: EventEmitter<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 user clicks an activity entry. Typically the host application will use this to navigate
     * to the envelope detail view.
     */
    viewEnvelope: EventEmitter<{
        endpoint: VerdocsEndpoint;
        envelope: IEnvelope;
    }>;
    /**
     * Event fired when the user clicks to finish the envelope.
     */
    finishEnvelope: EventEmitter<{
        endpoint: VerdocsEndpoint;
        envelope: IEnvelope;
    }>;
    count: number;
    initiallyLoaded: boolean;
    loading: boolean;
    selectedEnvelopes: IEnvelope[];
    envelopes: IEnvelope[];
    handleViewUpdated(): Promise<void>;
    handleStatusUpdated(): Promise<void>;
    handleSortUpdated(): Promise<void>;
    handleMatchUpdated(): Promise<void>;
    handlePageUpdated(): Promise<void>;
    componentWillLoad(): void;
    componentDidLoad(): Promise<void>;
    queryEnvelopes(): Promise<void>;
    handleDownload(): void;
    downloadEnvelope(envelope: IEnvelope): void;
    render(): any;
}
