import type { NonEmptyArray } from '@principia/base/NonEmptyArray'; export interface InputTypeConfig { defaultValue?: A; description?: string; list?: boolean | [boolean]; nullable?: boolean; } export interface OutputTypeConfig { deprecation?: string; description?: string; list?: boolean | [boolean]; nullable?: boolean; } export declare type EvaluateConfig, A> = OutputTypeConfig extends Config ? A : InputTypeConfig extends Config ? A : EvaluateNullableConfig>; export declare type EvaluateListConfig, A> = true extends Config['list'] ? Array : [true] extends Config['list'] ? NonEmptyArray : [false] extends Config['list'] ? Array : A; export declare type EvaluateNullableConfig = Config['nullable'] extends true ? A | undefined : A; //# sourceMappingURL=config.d.ts.map