import { EventEmitter } from '../../stencil-public-runtime';
import { QuickMessageLibraryFile, QuickMessageTemplate as QuickMessageTemplateModel, TPackageConfig } from '../../store/type';
export declare class QuickMessageAppComponent {
    languagePref: 'th' | 'en';
    themeMode: 'dark' | 'light';
    templateData?: string | QuickMessageTemplateModel[];
    imageLibrary?: string | QuickMessageLibraryFile[];
    fileLibrary?: string | QuickMessageLibraryFile[];
    businessId?: string;
    shopId?: string;
    accessToken?: string;
    isProduction?: string | boolean;
    timeZone?: string;
    currentPackage: TPackageConfig;
    private activeTab;
    private templates;
    private images;
    private files;
    templatesChange: EventEmitter<QuickMessageTemplateModel[]>;
    imagesChange: EventEmitter<QuickMessageLibraryFile[]>;
    filesChange: EventEmitter<QuickMessageLibraryFile[]>;
    private readonly tabs;
    connectedCallback(): void;
    componentWillLoad(): Promise<void>;
    protected handleLanguageChange(newLang: 'th' | 'en'): void;
    protected handleThemeChange(newTheme: 'dark' | 'light'): void;
    protected handleTemplateDataChange(newValue?: string | QuickMessageTemplateModel[]): void;
    protected handleImageLibraryChange(newValue?: string | QuickMessageLibraryFile[]): void;
    protected handleFileLibraryChange(newValue?: string | QuickMessageLibraryFile[]): void;
    protected handleBusinessIdChange(newValue?: string): void;
    protected handleShopIdChange(newValue?: string): void;
    protected handleAccessTokenChange(newValue?: string): void;
    protected handleIsProductionChange(newValue?: string | boolean): void;
    protected handleTimeZoneChange(newValue?: string): void;
    protected handleCurrentPackageChange(newValue?: TPackageConfig): void;
    deserializeCurrentPackage(value: string): TPackageConfig | null;
    private parseTemplates;
    private parseLibrary;
    private cloneTemplates;
    private cloneLibrary;
    private handleTemplatesChange;
    private handleImagesChange;
    private handleFilesChange;
    private setActiveTab;
    private handleTabClick;
    private onTemplatesChange;
    private onImagesChange;
    private onFilesChange;
    private loadUsageStorage;
    render(): any;
}
