import type { ContentfulEnvironmentAPI } from '../create-environment-api';
import type { DefaultElements, SysLink, BasicMetaSysProps, MakeRequest } from '../common-types';
type EnvironmentMetaSys = BasicMetaSysProps & {
    status: SysLink;
    space: SysLink;
    aliases?: Array<SysLink>;
    aliasedEnvironment?: SysLink;
};
export type EnvironmentProps = {
    /**
     * System metadata
     */
    sys: EnvironmentMetaSys;
    /**
     * Name of the environment
     */
    name: string;
};
export type CreateEnvironmentProps = Partial<Omit<EnvironmentProps, 'sys'>>;
export type Environment = ContentfulEnvironmentAPI & EnvironmentProps & DefaultElements<EnvironmentProps>;
/**
 * This method creates the API for the given environment with all the methods for
 * reading and creating other entities. It also passes down a clone of the
 * http client with a environment id, so the base path for requests now has the
 * environment id already set.
 * @internal
 * @param makeRequest - function to make requests via an adapter
 * @param data - API response for a Environment
 * @returns
 */
export declare function wrapEnvironment(makeRequest: MakeRequest, data: EnvironmentProps): Environment;
/**
 * This method wraps each environment in a collection with the environment API. See wrapEnvironment
 * above for more details.
 * @internal
 */
export declare const wrapEnvironmentCollection: (makeRequest: MakeRequest, data: import("..").CollectionProp<EnvironmentProps>) => import("..").Collection<Environment, EnvironmentProps>;
export {};
