import type { BasicMetaSysProps, Link, MakeRequest, DefaultElements } from '../common-types';
import type { ContentfulEnvironmentTemplateAPI } from '../create-environment-template-api';
import type { ContentTypeProps } from './content-type';
import type { EditorInterfaceProps } from './editor-interface';
export type Hint = {
    operation: 'renameFieldId';
    fieldId: string;
    previousFieldId: string;
};
export interface EditorInterfaceTemplateProps extends Omit<EditorInterfaceProps, 'sys'> {
    contentTypeTemplate: Link<'ContentTypeTemplate'>;
}
export interface ContentTypeTemplateProps extends Omit<ContentTypeProps, 'sys'> {
    id: string;
    basedOn?: {
        space: Link<'Space'>;
        environment: Link<'Environment'>;
        contentType: Link<'ContentType'>;
    };
    hints?: Array<Hint>;
}
export type EnvironmentTemplateProps = {
    sys: BasicMetaSysProps & {
        version: number;
        organization: Link<'Organization'>;
    };
    name: string;
    description?: string;
    versionName: string;
    versionDescription?: string;
    entities: {
        contentTypeTemplates: Array<ContentTypeTemplateProps>;
        editorInterfaceTemplates: Array<EditorInterfaceTemplateProps>;
    };
    forTemplatedSpaces?: boolean;
};
export type CreateEnvironmentTemplateProps = Omit<EnvironmentTemplateProps, 'sys'>;
export type EnvironmentTemplate = EnvironmentTemplateProps & DefaultElements<EnvironmentTemplateProps> & ContentfulEnvironmentTemplateAPI;
export declare function wrapEnvironmentTemplate(makeRequest: MakeRequest, data: EnvironmentTemplateProps, organizationId: string): EnvironmentTemplate;
export declare const wrapEnvironmentTemplateCollection: (makeRequest: MakeRequest, data: import("..").CursorPaginatedCollectionProp<EnvironmentTemplateProps>, organizationId: string) => import("..").CursorPaginatedCollection<EnvironmentTemplate, EnvironmentTemplateProps>;
