import type { BasicMetaSysProps, CursorPaginatedCollectionProp, DefaultElements, MakeRequest, SysLink } from '../common-types';
export type ResourceTypeProps = {
    /**
     * System metadata
     */
    sys: Omit<BasicMetaSysProps, 'version'> & {
        appDefinition: SysLink;
        resourceProvider: SysLink;
        organization: SysLink;
    };
    /**
     * Resource Type name
     */
    name: string;
    /**
     * Resource Type defaultFieldMapping
     */
    defaultFieldMapping: {
        title: string;
        subtitle?: string;
        description?: string;
        externalUrl?: string;
        image?: {
            url: string;
            altText?: string;
        };
        badge?: {
            label: string;
            variant: string;
        };
    };
};
declare const publicResourceTypeFields: readonly ["name"];
type OptionalSysFields = 'createdAt' | 'createdBy' | 'updatedAt' | 'updatedBy' | 'appDefinition' | 'organization';
export type SpaceEnvResourceTypeProps = Pick<ResourceTypeProps, (typeof publicResourceTypeFields)[number]> & {
    sys: Partial<Pick<ResourceTypeProps['sys'], OptionalSysFields>> & Omit<ResourceTypeProps['sys'], OptionalSysFields>;
};
export type UpsertResourceTypeProps = Omit<ResourceTypeProps, 'sys'>;
export interface ResourceType extends ResourceTypeProps, DefaultElements<ResourceTypeProps> {
    upsert(): Promise<ResourceType>;
    delete(): Promise<void>;
}
/**
 * @internal
 * @param makeRequest - function to make requests via an adapter
 * @param data - Raw Resource Type data
 * @returns Wrapped Resource Type data
 */
export declare function wrapResourceType(makeRequest: MakeRequest, data: ResourceTypeProps): ResourceType;
export declare function wrapResourceTypeforEnvironment(makeRequest: MakeRequest, data: SpaceEnvResourceTypeProps): SpaceEnvResourceTypeProps;
export declare const wrapResourceTypesForEnvironmentCollection: (makeRequest: MakeRequest, data: CursorPaginatedCollectionProp<SpaceEnvResourceTypeProps>) => CursorPaginatedCollectionProp<SpaceEnvResourceTypeProps>;
export {};
