import { Effects, PureEffect } from '@typed/effects'; import { LoggerEnv } from '@typed/logger'; import { Maybe } from '@typed/maybe'; export interface ArgsEnv extends LoggerEnv { readonly args: readonly string[]; } export interface ArgParser { readonly help: () => PureEffect; readonly parse: () => Effects>; } export declare type ParseOptions = { readonly aliases?: readonly string[]; readonly help?: string; }; export declare type ArgParserResult = readonly [readonly number[], Maybe<{ [K in A]: B; }>]; export declare type ArgParserResultValue = A extends ArgParserResult ? R : never; export declare namespace ArgParserResult { const none: ArgParserResult; } export declare type ArgParserNameValue = A extends ArgParser ? { readonly [K in Name]: Value; } : never; export declare type ArgParserValue = A extends ArgParser ? Value : never; export declare type ArgParserName = A extends ArgParser ? Name : never; //# sourceMappingURL=types.d.ts.map