import type { SchemaNodeDef, SchemaDef, KeyBuilders } from "./types.js";
/**
* Create type-safe key builder functions from a schema.
*
* Each entity in the schema gets a key builder function that takes
* the appropriate ID arguments and returns the full key path.
*
* @example
* ```ts
* const key = createKeyBuilders(schema);
*
* key.boards("board-1") // → "board-1"
* key.columns("board-1", "col-1") // → "board-1/columns/col-1"
* key.tasks("board-1", "col-1", "task-1") // → "board-1/columns/col-1/tasks/task-1"
* ```
*/
export declare function createKeyBuilders
>>(schema: SchemaDef
): KeyBuilders;
/**
* Create a regex pattern for matching keys of a specific entity type.
*
* Used internally to filter keys from a keys() call by entity type.
*
* @param node - The schema node to create a pattern for
* @param parentPatterns - Patterns from ancestor nodes
* @returns RegExp that matches keys of this entity type
*
* @example
* ```ts
* // For columns under a board:
* // parentPatterns = ["*"], pattern = "columns/*"
* // → /^([^/]+)\/columns\/([^/]+)$/
* ```
*/
export declare function createKeyPattern(node: SchemaNodeDef, parentPatterns: string[]): RegExp;
/**
* Extract the ID from a key given a regex pattern.
* Returns the last capture group (the entity's own ID).
*/
export declare function extractIdFromKey(key: string, pattern: RegExp): string | null;
//# sourceMappingURL=key-builders.d.ts.map