import type { QProduct, QNoCodeAction, QNoCodeCustomActionInfo, QNoCodesError, QNoCodeScreen, QNoCodeScreenInfo } from './internal/Mapper'; export type NoCodeEvent = { name: string; payload: QNoCodeAction | QNoCodesError | QNoCodeScreenInfo | QNoCodeCustomActionInfo | undefined; }; export interface NoCodesNativePlugin { initialize(params: { projectKey: string; source: string; version: string; proxyUrl?: string; locale?: string; theme?: string; }): void; setScreenPresentationConfig(params: { configData: Record; contextKey?: string; }): Promise; showScreen(params: { contextKey: string; customVariables?: Record; }): Promise; loadScreen(params: { contextKey: string; }): Promise; close(): Promise; setPurchaseDelegate(): void; setLocale(params: { locale: string | null; }): void; setTheme(params: { theme: string; }): void; delegatedPurchaseCompleted(): void; delegatedPurchaseFailed(params: { errorMessage: string; }): void; delegatedRestoreCompleted(): void; delegatedRestoreFailed(params: { errorMessage: string; }): void; addListener(event: 'noCodesEvent', listener: (payload: NoCodeEvent) => void): Promise<{ remove: () => Promise; }>; addListener(event: 'noCodesPurchase', listener: (payload: QProduct) => void): Promise<{ remove: () => Promise; }>; addListener(event: 'noCodesRestore', listener: () => void): Promise<{ remove: () => Promise; }>; } export declare const NoCodesPlugin: NoCodesNativePlugin;