import { DemoData } from "../../global/demo";
import { Invoice } from "../../saasquatch";
import { GenericTableViewProps } from "../../tables/GenericTableView";
/**
 * @uiName Invoice Table
 * @exampleGroup Invoices
 * @validParents ["sqm-portal-container","div","sqm-divided-layout","template","sqm-tab","sqb-program-section","sqb-conditional-section"]
 * @validChildren ["p","div","h1","h2","h3","h4","h5","span"]
 * @slots [{"name":"", "title":"Table Row"},{"name":"empty", "title":"Empty"},{"name":"loading","title":"Loading"}]
 * @example Invoice Table - <sqm-invoice-table per-page="4" hidden-columns="2" more-label="Next" prev-label="Prev" sm-breakpoint="599" md-breakpoint="799" ><sqm-invoice-table-download-column></sqm-invoice-table-download-column><sqm-invoice-table-date-column column-title="Date"></sqm-invoice-table-date-column><sqm-invoice-table-data-column column-title="Invoice" property="invoiceId"></sqm-invoice-table-data-column><sqm-invoice-table-data-column column-title="Earnings" property="earnings"></sqm-invoice-table-data-column><sqm-invoice-table-data-column column-title="Indirect tax" property="indirectTax"></sqm-invoice-table-data-column><sqm-invoice-table-data-column column-title="Earnings after tax" property="netEarnings"></sqm-invoice-table-data-column><sqm-empty empty-state-image="https://res.cloudinary.com/saasquatch/image/upload/v1710363322/squatch-assets/invoice-table-empty.png" empty-state-header="View your invoice details" empty-state-text="Refer a friend to view the status of your invoices and rewards earned" slot="empty" ></sqm-empty ></sqm-invoice-table> */
export declare class InvoiceTable {
  /**
   * Filters to only show invoices in this program. Will default to filtering by the program context where
   * this table lives. If no program ID is set or provided by context, then shows all invoices from all programs.
   * If program ID is "classic", shows classic-only invoices
   *
   * @uiName Program
   * @uiWidget programSelector
   */
  programId: string;
  /**
   * Number of invoices displayed per page
   *
   * @uiName Invoices per page
   */
  perPage: number;
  /** @uiName Hide column labels */
  hideLabels?: boolean;
  /** @uiName Invoice table previous page button label  */
  prevLabel?: string;
  /** @uiName Invoice table next page button label */
  moreLabel?: string;
  /**
   * Provide the column numbers (0 indexed) that should not be displayed in mobile views. Ex. 0,2,3
   *
   * @uiName Hidden mobile columns
   */
  hiddenColumns?: string;
  /** @uiName Mobile breakpoint  */
  smBreakpoint?: number;
  /** @uiName Tablet breakpoint  */
  mdBreakpoint?: number;
  /** @uiName Invoice table title */
  header?: string;
  /** @uiName Invoice table description  */
  description?: string;
  /** @uiName Empty invoice table header  */
  emptyStateHeader: string;
  /** @uiName Empty invoice table description */
  emptyStateText: string;
  /**
   * @undocumented
   * @uiType object
   */
  demoData?: DemoData<GenericTableViewProps> & {
    mockData?: {
      data: Invoice[];
    };
  };
  constructor();
  disconnectedCallback(): void;
  render(): any;
}
