import { EventEmitter } from '../../../../stencil-public-runtime';
import { Stripe } from '@stripe/stripe-js';
import { Order, PaymentIntent, Processor } from '../../../../types';
export declare class ScOrderStripePaymentElement {
  /** Available processors */
  processors: Processor[];
  /** Payment mode. */
  mode: 'test' | 'live';
  /** The currency code for the payment element. */
  currencyCode: string;
  /** The order. */
  order: Order;
  /** Should we collect an address? */
  address: boolean;
  /** Holds the stripe instance. */
  stripe: Stripe;
  /** Holds the stripe client secret for this element. */
  clientSecret: string;
  /** Holds the current payment intent */
  paymentIntent: PaymentIntent;
  scPaid: EventEmitter<void>;
  scPayError: EventEmitter<any>;
  scSetPaymentIntent: EventEmitter<{
    processor: 'stripe';
    payment_intent: PaymentIntent;
  }>;
  error: string;
  confirming: boolean;
  componentDidLoad(): Promise<void>;
  updatePaymentIntent(): Promise<void>;
  handleOrderChange(): Promise<void>;
  /**
   * When the payment intent is first set,
   * we need to sync it if we have an order.
   */
  handlePaymentIntentChange(): Promise<void>;
  render(): any;
}
