import { type OpenAPIReference, type OpenAPIReferenceable, type OpenAPIExtension, type OpenAPIParameter, type OpenAPIExample, type OpenAPIRequestBody, type OpenAPIResponse, type OpenAPIHeader, type OpenAPICallback } from 'ya-open-api-types';
import { type JsonValue } from 'type-fest';
import { type WhookAPICallbackDefinition, type WhookAPIExampleDefinition, type WhookAPIHeaderDefinition, type WhookAPIParameterDefinition, type WhookAPIRequestBodyDefinition, type WhookAPIResponseDefinition, type WhookAPISchemaDefinition } from '../types/openapi.js';
import { type ExpressiveJSONSchema } from 'ya-json-schema-types';
export declare function refersTo<T extends WhookAPISchemaDefinition<unknown> | WhookAPIParameterDefinition<unknown> | WhookAPIExampleDefinition<JsonValue> | WhookAPIHeaderDefinition | WhookAPIResponseDefinition | WhookAPIRequestBodyDefinition | WhookAPICallbackDefinition>(resource: T): T extends WhookAPISchemaDefinition ? ExpressiveJSONSchema : OpenAPIReference<T extends WhookAPIParameterDefinition<unknown> ? OpenAPIParameter<ExpressiveJSONSchema, OpenAPIExtension> : T extends WhookAPIExampleDefinition<infer U> ? OpenAPIExample<OpenAPIExample<U>> : T extends WhookAPIHeaderDefinition ? OpenAPIHeader<ExpressiveJSONSchema, OpenAPIExtension> : T extends WhookAPIResponseDefinition ? OpenAPIResponse<ExpressiveJSONSchema, OpenAPIExtension> : T extends WhookAPIRequestBodyDefinition ? OpenAPIRequestBody<ExpressiveJSONSchema, OpenAPIExtension> : T extends WhookAPICallbackDefinition ? OpenAPICallback<ExpressiveJSONSchema, OpenAPIExtension> : OpenAPIReferenceable<ExpressiveJSONSchema, OpenAPIExtension>>;
