import * as z from "zod";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export declare const CreateComponentResourceStatus: {
    readonly Active: "active";
    readonly Tobedeleted: "tobedeleted";
};
export type CreateComponentResourceStatus = ClosedEnum<typeof CreateComponentResourceStatus>;
export type CreateComponentResourceCourseComponent = {
    sourcedId: string;
};
export type CreateComponentResourceResource = {
    sourcedId: string;
};
/**
 * Represents a resource associated with a course component.
 */
export type CreateComponentResourceComponentResource = {
    sourcedId: string;
    status: CreateComponentResourceStatus;
    dateLastModified?: Date | undefined;
    metadata?: {
        [k: string]: any;
    } | null | undefined;
    courseComponent: CreateComponentResourceCourseComponent;
    resource: CreateComponentResourceResource;
    title: string;
    sortOrder?: number | undefined;
};
export type CreateComponentResourceRequest = {
    /**
     * Represents a resource associated with a course component.
     */
    componentResource: CreateComponentResourceComponentResource;
};
export type CreateComponentResourceSourcedIdPairs = {
    suppliedSourcedId: string;
    allocatedSourcedId: string;
};
/**
 * Created Component Resource Successfully
 */
export type CreateComponentResourceResponse = {
    sourcedIdPairs: CreateComponentResourceSourcedIdPairs;
};
/** @internal */
export declare const CreateComponentResourceStatus$inboundSchema: z.ZodNativeEnum<typeof CreateComponentResourceStatus>;
/** @internal */
export declare const CreateComponentResourceStatus$outboundSchema: z.ZodNativeEnum<typeof CreateComponentResourceStatus>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateComponentResourceStatus$ {
    /** @deprecated use `CreateComponentResourceStatus$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Tobedeleted: "tobedeleted";
    }>;
    /** @deprecated use `CreateComponentResourceStatus$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Tobedeleted: "tobedeleted";
    }>;
}
/** @internal */
export declare const CreateComponentResourceCourseComponent$inboundSchema: z.ZodType<CreateComponentResourceCourseComponent, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateComponentResourceCourseComponent$Outbound = {
    sourcedId: string;
};
/** @internal */
export declare const CreateComponentResourceCourseComponent$outboundSchema: z.ZodType<CreateComponentResourceCourseComponent$Outbound, z.ZodTypeDef, CreateComponentResourceCourseComponent>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateComponentResourceCourseComponent$ {
    /** @deprecated use `CreateComponentResourceCourseComponent$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateComponentResourceCourseComponent, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateComponentResourceCourseComponent$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateComponentResourceCourseComponent$Outbound, z.ZodTypeDef, CreateComponentResourceCourseComponent>;
    /** @deprecated use `CreateComponentResourceCourseComponent$Outbound` instead. */
    type Outbound = CreateComponentResourceCourseComponent$Outbound;
}
export declare function createComponentResourceCourseComponentToJSON(createComponentResourceCourseComponent: CreateComponentResourceCourseComponent): string;
export declare function createComponentResourceCourseComponentFromJSON(jsonString: string): SafeParseResult<CreateComponentResourceCourseComponent, SDKValidationError>;
/** @internal */
export declare const CreateComponentResourceResource$inboundSchema: z.ZodType<CreateComponentResourceResource, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateComponentResourceResource$Outbound = {
    sourcedId: string;
};
/** @internal */
export declare const CreateComponentResourceResource$outboundSchema: z.ZodType<CreateComponentResourceResource$Outbound, z.ZodTypeDef, CreateComponentResourceResource>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateComponentResourceResource$ {
    /** @deprecated use `CreateComponentResourceResource$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateComponentResourceResource, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateComponentResourceResource$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateComponentResourceResource$Outbound, z.ZodTypeDef, CreateComponentResourceResource>;
    /** @deprecated use `CreateComponentResourceResource$Outbound` instead. */
    type Outbound = CreateComponentResourceResource$Outbound;
}
export declare function createComponentResourceResourceToJSON(createComponentResourceResource: CreateComponentResourceResource): string;
export declare function createComponentResourceResourceFromJSON(jsonString: string): SafeParseResult<CreateComponentResourceResource, SDKValidationError>;
/** @internal */
export declare const CreateComponentResourceComponentResource$inboundSchema: z.ZodType<CreateComponentResourceComponentResource, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateComponentResourceComponentResource$Outbound = {
    sourcedId: string;
    status: string;
    dateLastModified?: string | undefined;
    metadata?: {
        [k: string]: any;
    } | null | undefined;
    courseComponent: CreateComponentResourceCourseComponent$Outbound;
    resource: CreateComponentResourceResource$Outbound;
    title: string;
    sortOrder: number;
};
/** @internal */
export declare const CreateComponentResourceComponentResource$outboundSchema: z.ZodType<CreateComponentResourceComponentResource$Outbound, z.ZodTypeDef, CreateComponentResourceComponentResource>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateComponentResourceComponentResource$ {
    /** @deprecated use `CreateComponentResourceComponentResource$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateComponentResourceComponentResource, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateComponentResourceComponentResource$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateComponentResourceComponentResource$Outbound, z.ZodTypeDef, CreateComponentResourceComponentResource>;
    /** @deprecated use `CreateComponentResourceComponentResource$Outbound` instead. */
    type Outbound = CreateComponentResourceComponentResource$Outbound;
}
export declare function createComponentResourceComponentResourceToJSON(createComponentResourceComponentResource: CreateComponentResourceComponentResource): string;
export declare function createComponentResourceComponentResourceFromJSON(jsonString: string): SafeParseResult<CreateComponentResourceComponentResource, SDKValidationError>;
/** @internal */
export declare const CreateComponentResourceRequest$inboundSchema: z.ZodType<CreateComponentResourceRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateComponentResourceRequest$Outbound = {
    componentResource: CreateComponentResourceComponentResource$Outbound;
};
/** @internal */
export declare const CreateComponentResourceRequest$outboundSchema: z.ZodType<CreateComponentResourceRequest$Outbound, z.ZodTypeDef, CreateComponentResourceRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateComponentResourceRequest$ {
    /** @deprecated use `CreateComponentResourceRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateComponentResourceRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateComponentResourceRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateComponentResourceRequest$Outbound, z.ZodTypeDef, CreateComponentResourceRequest>;
    /** @deprecated use `CreateComponentResourceRequest$Outbound` instead. */
    type Outbound = CreateComponentResourceRequest$Outbound;
}
export declare function createComponentResourceRequestToJSON(createComponentResourceRequest: CreateComponentResourceRequest): string;
export declare function createComponentResourceRequestFromJSON(jsonString: string): SafeParseResult<CreateComponentResourceRequest, SDKValidationError>;
/** @internal */
export declare const CreateComponentResourceSourcedIdPairs$inboundSchema: z.ZodType<CreateComponentResourceSourcedIdPairs, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateComponentResourceSourcedIdPairs$Outbound = {
    suppliedSourcedId: string;
    allocatedSourcedId: string;
};
/** @internal */
export declare const CreateComponentResourceSourcedIdPairs$outboundSchema: z.ZodType<CreateComponentResourceSourcedIdPairs$Outbound, z.ZodTypeDef, CreateComponentResourceSourcedIdPairs>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateComponentResourceSourcedIdPairs$ {
    /** @deprecated use `CreateComponentResourceSourcedIdPairs$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateComponentResourceSourcedIdPairs, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateComponentResourceSourcedIdPairs$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateComponentResourceSourcedIdPairs$Outbound, z.ZodTypeDef, CreateComponentResourceSourcedIdPairs>;
    /** @deprecated use `CreateComponentResourceSourcedIdPairs$Outbound` instead. */
    type Outbound = CreateComponentResourceSourcedIdPairs$Outbound;
}
export declare function createComponentResourceSourcedIdPairsToJSON(createComponentResourceSourcedIdPairs: CreateComponentResourceSourcedIdPairs): string;
export declare function createComponentResourceSourcedIdPairsFromJSON(jsonString: string): SafeParseResult<CreateComponentResourceSourcedIdPairs, SDKValidationError>;
/** @internal */
export declare const CreateComponentResourceResponse$inboundSchema: z.ZodType<CreateComponentResourceResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateComponentResourceResponse$Outbound = {
    sourcedIdPairs: CreateComponentResourceSourcedIdPairs$Outbound;
};
/** @internal */
export declare const CreateComponentResourceResponse$outboundSchema: z.ZodType<CreateComponentResourceResponse$Outbound, z.ZodTypeDef, CreateComponentResourceResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateComponentResourceResponse$ {
    /** @deprecated use `CreateComponentResourceResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateComponentResourceResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateComponentResourceResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateComponentResourceResponse$Outbound, z.ZodTypeDef, CreateComponentResourceResponse>;
    /** @deprecated use `CreateComponentResourceResponse$Outbound` instead. */
    type Outbound = CreateComponentResourceResponse$Outbound;
}
export declare function createComponentResourceResponseToJSON(createComponentResourceResponse: CreateComponentResourceResponse): string;
export declare function createComponentResourceResponseFromJSON(jsonString: string): SafeParseResult<CreateComponentResourceResponse, SDKValidationError>;
//# sourceMappingURL=createcomponentresource.d.ts.map