import { SkhemataBase, CSSResult } from '@skhemata/skhemata-base';
import '@power-elements/stripe-elements';
import { SkhemataFormStripe } from './contribution/SkhemataFormStripe';
import { LoginContribution } from './contribution/LoginContribution';
import { CreateAccountContribution } from './contribution/CreateAccountContribution';
import { ExpressCheckoutContribution } from './contribution/ExpressCheckoutContribution';
import { CardReward } from './components/CardReward';
import { CampaignHeader } from './contribution/CampaignHeader';
import { Menu } from './components/Menu';
import { CardInfo } from './contribution/CardInfo';
export declare class CampaignContribution extends SkhemataBase {
    static get styles(): CSSResult[];
    static get scopedElements(): {
        'skhemata-form-stripe': typeof SkhemataFormStripe;
        'login-contribution': typeof LoginContribution;
        'create-account-contribution': typeof CreateAccountContribution;
        'express-checkout-contribution': typeof ExpressCheckoutContribution;
        'card-reward-component': typeof CardReward;
        'campaign-header': typeof CampaignHeader;
        'menu-component': typeof Menu;
        'card-information-component': typeof CardInfo;
    };
    contributionObj: {
        secret_key: string;
        publishable_key: string;
        id: string;
        confirmInfo: {
            entry_id: string;
            stripe_transaction_id: string;
        };
    };
    chosenReward: string;
    currencySymbols?: any;
    campaign?: any;
    campaignId?: number;
    stripeElements?: HTMLElement | null;
    apiFull?: string;
    currentPage?: string;
    nameOnCard?: string;
    nameOnCardError?: string;
    contributionAmountError?: string;
    stripeCardError?: string;
    campaignError?: string;
    currentTab: string;
    handleBack: () => void;
    error: any;
    source: any;
    submitDisabled: boolean;
    loadingState: boolean;
    authState: boolean | undefined;
    stripeInfoPublishableKey: string | undefined;
    contributionAmount: number;
    stripe?: any;
    apiUrl?: string;
    openStatus: boolean;
    handleAuthStateChange: () => void;
    getStripeKeys: () => void;
    /**
     * Implement firstUpdated to perform one-time work after
     * the element’s template has been created.
     */
    firstUpdated(): Promise<void>;
    handleRewardOpen: () => void;
    initStripe(): void;
    handleContribution: () => Promise<void>;
    postData: (url?: string, data?: {}) => Promise<void>;
    dropdownHandle: () => void;
    handleNameOnCardChange: (e: any) => void;
    handleLogin: () => Promise<void>;
    handleLogout: () => void;
    handleTabSwitch: (event: any, tab: string) => void;
    handleContributionAmount: (event: any) => void;
    handleChosenReward: (reward: string, pledge?: any) => void;
    render(): import("lit-html").TemplateResult<1>;
}
