import { type $ as Zx, ProcessPromise, type Options } from 'zx'; export * from 'zx'; export * from './goods.ts'; type Callback = (...args: any[]) => any; export declare function ctx(cb: C, ref?: $Extra): ReturnType; type Extra = { trim?: boolean; raw: Zx; silent: Zx; o: Zx; opt: Zx; }; type $Extra = Zx & Extra; export declare const $: $Extra; type DropFirst = T extends [any, ...infer U] ? U : never; type HookCallback = (this: HookProcess, p: HookProcess, ...args: any[]) => any; type HookOptions = Partial & Options>; interface HookProcess extends ProcessPromise { [k: string | number | symbol]: any; } export declare function createHook(opts: O, name: string, cb: Callback, configurable: false): (pieces: TemplateStringsArray | HookOptions, ...args: any) => ReturnType; export declare function createHook(opts: O, name: string, cb: Callback, configurable: true): (...args: DropFirst>) => (pieces: TemplateStringsArray | HookOptions, ...args: any) => ReturnType; export declare const ver: (target: string, range?: string) => string;