import type { TurboModule } from 'react-native';
/**
 * Codegen spec for the Freshdesk native module.
 *
 * Parsed by @react-native/codegen. MUST contain only the react-native import,
 * the Spec interface, and the default export. All runtime logic (no-op
 * fallback, NativeEventEmitter wiring) lives in ./FreshdeskModule.ts.
 *
 * Rich public types (FreshdeskConfig, ContentConfiguration, ...) stay in
 * ./types.ts; the spec uses `Object` / `string` because codegen cannot
 * resolve cross-file structured types.
 */
export interface Spec extends TurboModule {
    initialize(config: Object): Promise<void>;
    openSupport(): Promise<void>;
    openKnowledgeBase(): Promise<void>;
    openTopic(topicName: string, topicId: string): Promise<void>;
    getUnreadCount(): Promise<number>;
    trackEvent(name: string, properties: Object): Promise<void>;
    setUserProperties(properties: Object): Promise<void>;
    setTicketProperties(properties: Object): Promise<void>;
    authenticateAndUpdate(jwt: string): Promise<void>;
    resetUser(): Promise<{
        success: boolean;
        message: string;
        error: string;
    }>;
    dismiss(): Promise<void>;
    setLinkHandlerEnabled(enabled: boolean): Promise<void>;
    getSDKVersion(): Promise<string>;
    getUser(): Promise<string>;
    setContentConfiguration(configJson: string): Promise<void>;
    enableDebugLogs(enabled: boolean): Promise<void>;
    runDiagnostics(): Promise<Object>;
    addListener(eventName: string): void;
    removeListeners(count: number): void;
}
declare const _default: Spec | null;
export default _default;
//# sourceMappingURL=NativeFreshdesk.d.ts.map