import { type AppDefinition, type BlockDefinition, type Prefix } from '@appsemble/lang-sdk';
import { type AppsembleMessages } from '@appsemble/types';
/**
 * Recursively find `string.format` remapper message IDs.
 *
 * @param obj The object to search.
 * @returns All message IDs found
 */
export declare function findMessageIds(obj: unknown): Record<string, string>;
/**
 * Extract translatable message IDs from an app definition.
 *
 * @param app The app definition to extract message IDs from
 * @param onBlock A function to extract block messages. This is needed, because block messages may
 *   be extracted based on different contexts.
 * @returns A list of message IDs
 */
export declare function extractAppMessages(app: AppDefinition, onBlock?: (block: BlockDefinition, prefix: Prefix) => void): Pick<AppsembleMessages, 'app' | 'messageIds'>;
