import { Result } from "@eeue56/ts-core/build/main/lib/result";
export type PackageModule = {
    kind: "PackageModule";
    name: string;
};
export declare function PackageModule(name: string): PackageModule;
export type Dependency = {
    kind: "Dependency";
    name: string;
    version: string;
};
export declare function Dependency(name: string, version: string): Dependency;
export declare function dependenciesFromRecord(record: Record<string, string>): Dependency[];
export type Package = {
    kind: "Package";
    name: string;
    exposing: PackageModule[];
    dependencies: Dependency[];
};
export declare function Package(name: string, exposing: PackageModule[], dependencies: Dependency[]): Package;
export declare function addDependency(dependency: Dependency, package_: Package): Package;
export declare function exportPackage(package_: Package): string;
export declare function loadPackageFile(path: string): Promise<Result<string, Package>>;
export declare function decodePackage(potentialPackage: any): Result<string, Package>;
