import type { DeleteMeLibraryApi } from "@superblocksteam/library-shared/types";
import { type IdentifierWithType } from "./js-identifiers.js";
import type { PropertyDto } from "./shared.js";
export declare function extractBindingsFromValue(value?: string | number | boolean | undefined, pluginID?: string): Promise<string[]>;
export declare function recursivelyExtractValues(obj: any): (PropertyDto | string | boolean | number)[];
export declare function extractBindingsFromAction(action: any): Promise<string[]>;
export declare function extractInputsFromApi(api: DeleteMeLibraryApi): Promise<string[]>;
/**
 * Extract API inputs with their TypeScript type annotations.
 *
 * This function attempts to extract type information from TypeScript type annotations
 * in the API source code. If type annotations are found, it returns IdentifierWithType[],
 * otherwise it falls back to string[] with "any" types.
 *
 * @param api - The API to extract inputs from
 * @param apiSource - Optional API source code (TypeScript). If not provided, types will be "any"
 * @returns Array of inputs with type information
 */
export declare function extractInputsWithTypesFromApi(api: DeleteMeLibraryApi, apiSource?: string): Promise<IdentifierWithType[]>;
export type { IdentifierWithType };
//# sourceMappingURL=extract-identifiers.d.ts.map