import type { Entity } from '../../../entity/index.js'; import { EntityAction } from '../../../entity/index.js'; import type { InputValue, Schema, TransformedValue } from '../../../schema/index.js'; import type { IQueryCommand, Query, QueryOptions } from '../../../table/actions/query/index.js'; import { QueryCommand } from '../../../table/actions/query/queryCommand.js'; import type { Overwrite } from '../../../types/index.js'; import { $meta, $options, $pattern, $schema } from './constants.js'; interface AccessPatternMetadata { title?: string; description?: string; } type MergeOptions, DEFAULT_OPTIONS extends QueryOptions, CONTEXT_OPTIONS extends QueryOptions> = QueryOptions extends DEFAULT_OPTIONS ? CONTEXT_OPTIONS : QueryOptions extends CONTEXT_OPTIONS ? DEFAULT_OPTIONS : Overwrite & CONTEXT_OPTIONS; export declare class IAccessPattern = Query, DEFAULT_OPTIONS extends QueryOptions = QueryOptions, CONTEXT_OPTIONS extends QueryOptions = QueryOptions> extends EntityAction { static actionName: "access-pattern"; [$schema]?: SCHEMA; [$pattern]?: (input: Schema extends SCHEMA ? any : TransformedValue) => QUERY & { options?: CONTEXT_OPTIONS; }; [$options]: DEFAULT_OPTIONS; [$meta]: AccessPatternMetadata; constructor(entity: ENTITY, schema?: SCHEMA, pattern?: (input: TransformedValue) => QUERY & { options?: CONTEXT_OPTIONS; }, options?: DEFAULT_OPTIONS, meta?: AccessPatternMetadata); query(input: InputValue): Entity extends ENTITY ? IQueryCommand : QueryCommand>; } export declare class AccessPattern = Query, DEFAULT_OPTIONS extends QueryOptions = QueryOptions, CONTEXT_OPTIONS extends QueryOptions = QueryOptions> extends IAccessPattern { constructor(entity: ENTITY, schema?: SCHEMA, pattern?: (input: TransformedValue) => QUERY & { options?: CONTEXT_OPTIONS; }, options?: DEFAULT_OPTIONS, meta?: AccessPatternMetadata); schema(nextSchema: NEXT_SCHEMA): AccessPattern; pattern, NEXT_CONTEXT_OPTIONS extends QueryOptions>(nextPattern: (input: TransformedValue) => NEXT_QUERY & { options?: NEXT_CONTEXT_OPTIONS; }): AccessPattern; options>(nextOptions: NEXT_DEFAULT_OPTIONS | ((prevOptions: DEFAULT_OPTIONS) => NEXT_DEFAULT_OPTIONS)): AccessPattern; meta(nextMeta: AccessPatternMetadata): AccessPattern; } export {};