import type { EdenMutationKey, EdenQueryKey, QueryType } from "./types"; /** * Options for generating a query key */ export interface GetQueryKeyOptions { /** Path segments (e.g., ['api', 'users', 'get']) */ path: string[]; /** Optional input parameters */ input?: unknown; /** Query type: 'query', 'infinite', or 'any' */ type?: QueryType; } /** * Generates a query key for TanStack Query. * * The key structure is: [path[], metadata?] * - path: Array of route path segments * - metadata: Optional object with input and type * * @example * // Path only * getQueryKey({ path: ['users', 'get'] }) * // => [['users', 'get']] * * // With input * getQueryKey({ path: ['users', 'get'], input: { id: '1' } }) * // => [['users', 'get'], { input: { id: '1' } }] * * // Infinite query * getQueryKey({ path: ['posts', 'list'], input: { limit: 10 }, type: 'infinite' }) * // => [['posts', 'list'], { input: { limit: 10 }, type: 'infinite' }] */ export declare function getQueryKey(opts: GetQueryKeyOptions): EdenQueryKey; /** * Options for generating a mutation key */ export interface GetMutationKeyOptions { /** Path segments (e.g., ['api', 'users', 'post']) */ path: string[]; } /** * Generates a mutation key for TanStack Query. * * Mutation keys are simpler than query keys - just the path. * * @example * getMutationKey({ path: ['users', 'post'] }) * // => [['users', 'post']] */ export declare function getMutationKey(opts: GetMutationKeyOptions): EdenMutationKey; //# sourceMappingURL=queryKey.d.ts.map