import yaml from 'yaml'; import type { LiteralUnion } from 'type-fest'; export declare namespace Script { interface Register, Key extends keyof Store = keyof Store, Type extends ScriptDataType = ScriptDataType> { (store: Store & Record : Type extends 'object' ? Record : any[]>): Config; } type ScriptDataType = 'array' | 'map' | 'object'; interface ComposableTransduce { (args: Parameters[0]): (step: (val: V) => V) => ConsumerFunc; } interface ConsumerFunc { (visitorArgs: { name: string; doc: yaml.Document | yaml.Document.Parsed; key: Parameters>[0]; node: yaml.Node; path: Parameters>[2]; }): ReturnType>; } interface Config, Key extends keyof Store, Type extends ScriptDataType> { key: Key; type?: LiteralUnion; label?: string; cond?: 'scalar' | 'pair' | 'map' | 'seq' | ((node: yaml.Node) => boolean); fn: ConsumerFunc; } interface Hooks> { onStart(store: Store): void; onEnd(store: Store): void; } type HooksRegister = Record, HookKey extends keyof Hooks = keyof Hooks> = Hooks[HookKey] | Hooks[HookKey][]; interface Metadata { page?: string; } }