/**
 * URL State Management Hooks
 *
 * Runtime schema-driven URL parameter management for GraphQL and REST APIs.
 *
 * @example GraphQL
 * import { useQueryParams } from '@flamingo/ui-kit/hooks'
 *
 * const { variables, setParam } = useQueryParams(LOGS_QUERY)
 * const { data } = useQuery(LOGS_QUERY, { variables })
 *
 * @example REST
 * import { useApiParams } from '@flamingo/ui-kit/hooks'
 *
 * const { params, urlSearchParams } = useApiParams({
 *   search: { type: 'string', default: '' },
 *   page: { type: 'number', default: 1 }
 * })
 */
export { useQueryParams } from './use-query-params';
export type { UseQueryParamsOptions, UseQueryParamsReturn } from './use-query-params';
export { useApiParams, createSearchParams } from './use-api-params';
export type { ParamSchema, UseApiParamsOptions, UseApiParamsReturn } from './use-api-params';
export { introspector, GraphQLIntrospector } from './introspection';
export type { JSType, VariableDefinition } from './graphql-parser';
export type { FlattenedParam } from './flatten-schema';
export { useCursorPaginationState } from './use-cursor-pagination-state';
export type { UseCursorPaginationStateOptions, CursorPaginationStateReturn } from './use-cursor-pagination-state';
export { extractVariablesFromQuery, isScalarType, isInputObjectType } from './graphql-parser';
export { flattenQueryVariables, mergeDefaults, validateSchema, getArrayParams, getRequiredParams, shouldIncludeInUrl } from './flatten-schema';
export { urlParamsToVariables, variablesToUrlParams, coerceValue, setNestedValue, getNestedValue, mergeVariables, clearParams as clearVariablesParams, validateVariables } from './url-converter';
//# sourceMappingURL=index.d.ts.map