import type { Optional } from '@applitools/utils';
import type { Environment } from '../types';
export type KnownResource = {
    hash: HashedResource | {
        errorStatusCode: number;
    };
    dependencies?: string[];
};
export type FailedResource = {
    id: string;
    errorStatusCode: number;
    hash: {
        errorStatusCode: number;
    };
};
export type RawContenfulResource = {
    id: string;
    url: string;
    value: string;
    contentType: string;
    dependencies?: string[];
};
export type ContentfulResource = {
    id: string;
    url: string;
    value: Uint8Array;
    contentType: string;
    hash: HashedResource;
    dependencies?: string[];
};
export type UrlResource = {
    id: string;
    url: string;
    environment?: Environment;
};
export type HashedResource = {
    hash: string;
    hashFormat: 'sha256';
    contentType: string;
};
export declare function makeResource(resource: Omit<FailedResource, 'hash'>): FailedResource;
export declare function makeResource(resource: Optional<RawContenfulResource, 'id' | 'url' | 'contentType'>): ContentfulResource;
export declare function makeResource(resource: Omit<Optional<ContentfulResource, 'id' | 'url' | 'contentType'>, 'hash'>): ContentfulResource;
export declare function makeResource(resource: Omit<UrlResource, 'id'>): UrlResource;
export declare function makeHashedResource(resource: ContentfulResource): HashedResource;
