import type { Schemas } from '../../../../features/Operation/types/schemas';
import type { OpenAPIV3_1 } from '@scalar/openapi-types';
/**
 * Extract schema name from various schema formats
 * Handles $ref, title, name, type, and schema dictionary lookup
 */
export declare function getModelNameFromSchema(schema: OpenAPIV3_1.SchemaObject): string | null;
/**
 * Find schema name by matching against component schemas
 */
export declare function getSchemaNameFromSchemas(schema: OpenAPIV3_1.SchemaObject, schemas?: Schemas): string | null;
/**
 * Format the type and model name for display
 */
export declare function formatTypeWithModel(type: string, modelName: string): string;
/**
 * Get the model name for a schema property
 * e.g. User | Admin | array of User | array of Admin
 */
export declare function getModelName(value: Record<string, any>, schemas?: Schemas, hideModelNames?: boolean, getDiscriminatorSchemaName?: (schema: any, schemas?: Schemas) => string | null): string | null;
/**
 * Check if a schema has a name (title, name, or custom identifier)
 */
export declare function hasName(name: string | null): boolean;
/**
 * Choose the schemas to display in composition panel
 */
export declare function getCompositionDisplay(baseSchemas: OpenAPIV3_1.SchemaObject[], compositionSchemas: OpenAPIV3_1.SchemaObject[], schemas?: Schemas): OpenAPIV3_1.SchemaObject[];
//# sourceMappingURL=schema-name.d.ts.map