import { EventEmitter, EventSubscription } from 'expo-modules-core';
import { PngmeConfig, PngmeDialogStyle, PngmeEventMap, PngmePermissionStatus } from './Pngme.types';
declare class PngmeSDK extends EventEmitter<Record<string, any>> {
    /**
     * Initialize the Pngme SDK and show the permission dialog
     * @param config Configuration object containing user info and styling
     * @returns Promise that resolves when the flow is complete
     */
    go(config: PngmeConfig): Promise<void>;
    /**
     * Check if SMS permissions have been granted and terms accepted
     */
    isPermissionGranted(): Promise<boolean>;
    /**
     * Get the current user's UUID from Pngme
     */
    getUserUuid(): Promise<string | null>;
    /**
     * Set a default dialog style for all future SDK invocations
     */
    setDefaultStyle(style: PngmeDialogStyle): Promise<void>;
    /**
     * Clear the default dialog style
     */
    clearDefaultStyle(): Promise<void>;
    /**
     * Get the current permission status
     */
    getPermissionStatus(): Promise<PngmePermissionStatus>;
    /**
     * Listen for SDK events
     */
    addListener<K extends keyof PngmeEventMap>(eventName: K, listener: (event: PngmeEventMap[K]) => void): EventSubscription;
}
export * from './Pngme.types';
declare const _default: PngmeSDK;
export default _default;
//# sourceMappingURL=index.d.ts.map