import { CapturedArguments, CurriedType, Owner } from '@glimmer/interfaces'; import { Reference } from '@glimmer/reference'; declare const TYPE: unique symbol; declare const INNER: unique symbol; declare const OWNER: unique symbol; declare const ARGS: unique symbol; declare const RESOLVED: unique symbol; export declare function isCurriedValue(value: unknown): value is CurriedValue; export declare function isCurriedType(value: unknown, type: T): value is CurriedValue; export declare class CurriedValue { [TYPE]: T; [INNER]: object | string | CurriedValue; [OWNER]: Owner; [ARGS]: CapturedArguments | null; [RESOLVED]: boolean; /** @internal */ constructor(type: T, inner: object | string | CurriedValue, owner: Owner, args: CapturedArguments | null, resolved?: boolean); } interface ResolvedCurriedValue { definition: T; owner: Owner; resolved: boolean; positional: Reference[] | undefined; named: Record[] | undefined; } export declare function resolveCurriedValue(curriedValue: CurriedValue): ResolvedCurriedValue; export declare function resolveCurriedValue(curriedValue: CurriedValue | CurriedValue): ResolvedCurriedValue; export declare function curry(type: T, spec: object | string | CurriedValue, owner: Owner, args: CapturedArguments | null, resolved?: boolean): CurriedValue; export {}; //# sourceMappingURL=curried-value.d.ts.map