/// <reference types="clownface" />
/// <reference types="rdfjs__namespace" />
import RdfResourceImpl, { Constructor, RdfResource } from '@tpluscode/rdfine';
import type * as RDF from 'rdf-js';
import type { Initializer, ResourceNode } from '@tpluscode/rdfine/RdfResource';
import type { Mixin } from '@tpluscode/rdfine/lib/ResourceFactory';
import type * as Schema from '.';
export interface DrugClass<D extends RDF.DatasetCore = RDF.DatasetCore> extends Schema.MedicalEntity<D>, RdfResource<D> {
    drug: Schema.Drug<D> | undefined;
}
export declare function DrugClassMixin<Base extends Constructor>(Resource: Base): {
    new (...input: any[]): {
        drug: Schema.Drug | undefined;
        code: Schema.MedicalCode<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | undefined;
        guideline: Schema.MedicalGuideline<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | undefined;
        legalStatus: Schema.DrugLegalStatus<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | undefined;
        legalStatusLiteral: string | undefined;
        medicineSystem: RDF.NamedNode<"http://schema.org/Ayurvedic"> | RDF.NamedNode<"http://schema.org/Chiropractic"> | RDF.NamedNode<"http://schema.org/Homeopathic"> | RDF.NamedNode<"http://schema.org/Osteopathic"> | RDF.NamedNode<"http://schema.org/TraditionalChinese"> | RDF.NamedNode<"http://schema.org/WesternConventional"> | undefined;
        recognizingAuthority: Schema.Organization<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | undefined;
        relevantSpecialty: RDF.NamedNode<"http://schema.org/Anesthesia"> | RDF.NamedNode<"http://schema.org/Cardiovascular"> | RDF.NamedNode<"http://schema.org/CommunityHealth"> | RDF.NamedNode<"http://schema.org/Dentistry"> | RDF.NamedNode<"http://schema.org/Dermatologic"> | RDF.NamedNode<"http://schema.org/Dermatology"> | RDF.NamedNode<"http://schema.org/DietNutrition"> | RDF.NamedNode<"http://schema.org/Emergency"> | RDF.NamedNode<"http://schema.org/Endocrine"> | RDF.NamedNode<"http://schema.org/Gastroenterologic"> | RDF.NamedNode<"http://schema.org/Genetic"> | RDF.NamedNode<"http://schema.org/Geriatric"> | RDF.NamedNode<"http://schema.org/Gynecologic"> | RDF.NamedNode<"http://schema.org/Hematologic"> | RDF.NamedNode<"http://schema.org/Infectious"> | RDF.NamedNode<"http://schema.org/LaboratoryScience"> | RDF.NamedNode<"http://schema.org/Midwifery"> | RDF.NamedNode<"http://schema.org/Musculoskeletal"> | RDF.NamedNode<"http://schema.org/Neurologic"> | RDF.NamedNode<"http://schema.org/Nursing"> | RDF.NamedNode<"http://schema.org/Obstetric"> | RDF.NamedNode<"http://schema.org/Oncologic"> | RDF.NamedNode<"http://schema.org/Optometric"> | RDF.NamedNode<"http://schema.org/Otolaryngologic"> | RDF.NamedNode<"http://schema.org/Pathology"> | RDF.NamedNode<"http://schema.org/Pediatric"> | RDF.NamedNode<"http://schema.org/PharmacySpecialty"> | RDF.NamedNode<"http://schema.org/Physiotherapy"> | RDF.NamedNode<"http://schema.org/PlasticSurgery"> | RDF.NamedNode<"http://schema.org/Podiatric"> | RDF.NamedNode<"http://schema.org/PrimaryCare"> | RDF.NamedNode<"http://schema.org/Psychiatric"> | RDF.NamedNode<"http://schema.org/PublicHealth"> | RDF.NamedNode<"http://schema.org/Pulmonary"> | RDF.NamedNode<"http://schema.org/Radiography"> | RDF.NamedNode<"http://schema.org/Renal"> | RDF.NamedNode<"http://schema.org/RespiratoryTherapy"> | RDF.NamedNode<"http://schema.org/Rheumatologic"> | RDF.NamedNode<"http://schema.org/SpeechPathology"> | RDF.NamedNode<"http://schema.org/Surgical"> | RDF.NamedNode<"http://schema.org/Toxicologic"> | RDF.NamedNode<"http://schema.org/Urologic"> | undefined;
        study: Schema.MedicalStudy<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | undefined;
        additionalType: RDF.NamedNode<string> | undefined;
        alternateName: string | undefined;
        description: string | undefined;
        disambiguatingDescription: string | undefined;
        identifier: Schema.PropertyValue<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | undefined;
        identifierLiteral: string | undefined;
        image: Schema.ImageObject<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | undefined;
        mainEntityOfPage: Schema.CreativeWork<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | undefined;
        name: string | undefined;
        potentialAction: Schema.Action<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | undefined;
        sameAs: RDF.NamedNode<string> | undefined;
        subjectOf: Schema.CreativeWork<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | Schema.Event<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | undefined;
        url: RDF.NamedNode<string> | undefined;
        readonly id: import("@tpluscode/rdfine").ResourceIdentifier;
        readonly types: import("@tpluscode/rdfine/lib/TypeCollection").TypeCollection<RDF.DatasetCore<RDF.Quad, RDF.Quad>>;
        readonly pointer: import("clownface").GraphPointer<import("@tpluscode/rdfine").ResourceIdentifier, RDF.DatasetCore<RDF.Quad, RDF.Quad>>;
        readonly unionGraphPointer: import("clownface").MultiPointer<import("@tpluscode/rdfine").ResourceIdentifier, RDF.DatasetCore<RDF.Quad, RDF.Quad>>;
        readonly _graphId: RDF.Quad_Graph;
        readonly _parent?: RdfResource<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | undefined;
        readonly isAnonymous: boolean;
        equals(other: RDF.BlankNode | RdfResource<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | RDF.NamedNode<string> | import("clownface").GraphPointer<import("@tpluscode/rdfine").ResourceIdentifier, RDF.DatasetCore<RDF.Quad, RDF.Quad>> | null | undefined): boolean;
        hasType(type: string | RDF.NamedNode<string>): boolean;
        get<T extends RdfResource<RDF.DatasetCore<RDF.Quad, RDF.Quad>> = RdfResource<RDF.DatasetCore<RDF.Quad, RDF.Quad>>>(property: string | RDF.NamedNode<string>): T;
        get<T_1 extends RdfResource<RDF.DatasetCore<RDF.Quad, RDF.Quad>> = RdfResource<RDF.DatasetCore<RDF.Quad, RDF.Quad>>>(property: string | RDF.NamedNode<string>, options?: import("@tpluscode/rdfine/RdfResource").GetOptions | undefined): T_1 | null;
        getArray<T_2 extends RdfResource<RDF.DatasetCore<RDF.Quad, RDF.Quad>> = RdfResource<RDF.DatasetCore<RDF.Quad, RDF.Quad>>>(property: string | RDF.NamedNode<string>, options?: import("@tpluscode/rdfine/RdfResource").GetOptions | undefined): T_2[];
        getBoolean(property: string | RDF.NamedNode<string>, options?: import("@tpluscode/rdfine/RdfResource").GetOptions | undefined): boolean;
        getString(property: string | RDF.NamedNode<string>): string;
        getString(property: string | RDF.NamedNode<string>, options?: import("@tpluscode/rdfine/RdfResource").GetOptions | undefined): string | null;
        getNumber(property: string | RDF.NamedNode<string>): number | null;
        getNumber(property: string | RDF.NamedNode<string>, options?: import("@tpluscode/rdfine/RdfResource").GetOptions | undefined): number | null;
        toJSON<T_3 extends import("@tpluscode/rdfine/RdfResource").RdfResourceCore<RDF.DatasetCore<RDF.Quad, RDF.Quad>> = any>(): import("@tpluscode/rdfine/lib/toJSON").Jsonified<RdfResource<RDF.DatasetCore<RDF.Quad, RDF.Quad>> & T_3>;
        _getObjects(property: string | RDF.NamedNode<string>, options?: import("@tpluscode/rdfine/RdfResource").GetOptions | undefined): import("clownface").MultiPointer<RDF.Term, RDF.DatasetCore<RDF.Quad, RDF.Quad>>;
        _create<T_4 extends RdfResource<RDF.DatasetCore<RDF.Quad, RDF.Quad>>>(term: import("clownface").GraphPointer<RDF.Term, RDF.DatasetCore<RDF.Quad, RDF.Quad>>, mixins?: any[] | [Constructor<import("@tpluscode/rdfine/RdfResource").RdfResourceCore<RDF.DatasetCore<RDF.Quad, RDF.Quad>>>, ...any[]] | undefined, options?: import("@tpluscode/rdfine/lib/ResourceFactory").ResourceCreationOptions<RDF.DatasetCore<RDF.Quad, RDF.Quad>, T_4> | undefined): T_4 & import("@tpluscode/rdfine").ResourceIndexer<RdfResource<RDF.DatasetCore<RDF.Quad, RDF.Quad>>>;
    };
    factory: import("@tpluscode/rdfine/lib/ResourceFactory").ResourceFactory<RDF.DatasetCore<RDF.Quad, RDF.Quad>, RdfResource<RDF.DatasetCore<RDF.Quad, RDF.Quad>>, any>;
    __mixins: any[];
    __properties: Map<string, import("@tpluscode/rdfine/lib/decorators/property").PropertyMeta<any>>;
    __ns?: import("@rdfjs/namespace").NamespaceBuilder | undefined;
} & Base;
export declare namespace DrugClassMixin {
    var appliesTo: RDF.NamedNode<"http://schema.org/DrugClass">;
    var Class: typeof DrugClassImpl;
}
declare const DrugClassImpl_base: {
    new (...input: any[]): {
        drug: Schema.Drug<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | undefined;
        code: Schema.MedicalCode<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | undefined;
        guideline: Schema.MedicalGuideline<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | undefined;
        legalStatus: Schema.DrugLegalStatus<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | undefined;
        legalStatusLiteral: string | undefined;
        medicineSystem: RDF.NamedNode<"http://schema.org/Ayurvedic"> | RDF.NamedNode<"http://schema.org/Chiropractic"> | RDF.NamedNode<"http://schema.org/Homeopathic"> | RDF.NamedNode<"http://schema.org/Osteopathic"> | RDF.NamedNode<"http://schema.org/TraditionalChinese"> | RDF.NamedNode<"http://schema.org/WesternConventional"> | undefined;
        recognizingAuthority: Schema.Organization<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | undefined;
        relevantSpecialty: RDF.NamedNode<"http://schema.org/Anesthesia"> | RDF.NamedNode<"http://schema.org/Cardiovascular"> | RDF.NamedNode<"http://schema.org/CommunityHealth"> | RDF.NamedNode<"http://schema.org/Dentistry"> | RDF.NamedNode<"http://schema.org/Dermatologic"> | RDF.NamedNode<"http://schema.org/Dermatology"> | RDF.NamedNode<"http://schema.org/DietNutrition"> | RDF.NamedNode<"http://schema.org/Emergency"> | RDF.NamedNode<"http://schema.org/Endocrine"> | RDF.NamedNode<"http://schema.org/Gastroenterologic"> | RDF.NamedNode<"http://schema.org/Genetic"> | RDF.NamedNode<"http://schema.org/Geriatric"> | RDF.NamedNode<"http://schema.org/Gynecologic"> | RDF.NamedNode<"http://schema.org/Hematologic"> | RDF.NamedNode<"http://schema.org/Infectious"> | RDF.NamedNode<"http://schema.org/LaboratoryScience"> | RDF.NamedNode<"http://schema.org/Midwifery"> | RDF.NamedNode<"http://schema.org/Musculoskeletal"> | RDF.NamedNode<"http://schema.org/Neurologic"> | RDF.NamedNode<"http://schema.org/Nursing"> | RDF.NamedNode<"http://schema.org/Obstetric"> | RDF.NamedNode<"http://schema.org/Oncologic"> | RDF.NamedNode<"http://schema.org/Optometric"> | RDF.NamedNode<"http://schema.org/Otolaryngologic"> | RDF.NamedNode<"http://schema.org/Pathology"> | RDF.NamedNode<"http://schema.org/Pediatric"> | RDF.NamedNode<"http://schema.org/PharmacySpecialty"> | RDF.NamedNode<"http://schema.org/Physiotherapy"> | RDF.NamedNode<"http://schema.org/PlasticSurgery"> | RDF.NamedNode<"http://schema.org/Podiatric"> | RDF.NamedNode<"http://schema.org/PrimaryCare"> | RDF.NamedNode<"http://schema.org/Psychiatric"> | RDF.NamedNode<"http://schema.org/PublicHealth"> | RDF.NamedNode<"http://schema.org/Pulmonary"> | RDF.NamedNode<"http://schema.org/Radiography"> | RDF.NamedNode<"http://schema.org/Renal"> | RDF.NamedNode<"http://schema.org/RespiratoryTherapy"> | RDF.NamedNode<"http://schema.org/Rheumatologic"> | RDF.NamedNode<"http://schema.org/SpeechPathology"> | RDF.NamedNode<"http://schema.org/Surgical"> | RDF.NamedNode<"http://schema.org/Toxicologic"> | RDF.NamedNode<"http://schema.org/Urologic"> | undefined;
        study: Schema.MedicalStudy<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | undefined;
        additionalType: RDF.NamedNode<string> | undefined;
        alternateName: string | undefined;
        description: string | undefined;
        disambiguatingDescription: string | undefined;
        identifier: Schema.PropertyValue<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | undefined;
        identifierLiteral: string | undefined;
        image: Schema.ImageObject<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | undefined;
        mainEntityOfPage: Schema.CreativeWork<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | undefined;
        name: string | undefined;
        potentialAction: Schema.Action<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | undefined;
        sameAs: RDF.NamedNode<string> | undefined;
        subjectOf: Schema.CreativeWork<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | Schema.Event<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | undefined;
        url: RDF.NamedNode<string> | undefined;
        readonly id: import("@tpluscode/rdfine").ResourceIdentifier;
        readonly types: import("@tpluscode/rdfine/lib/TypeCollection").TypeCollection<RDF.DatasetCore<RDF.Quad, RDF.Quad>>;
        readonly pointer: import("clownface").GraphPointer<import("@tpluscode/rdfine").ResourceIdentifier, RDF.DatasetCore<RDF.Quad, RDF.Quad>>;
        readonly unionGraphPointer: import("clownface").MultiPointer<import("@tpluscode/rdfine").ResourceIdentifier, RDF.DatasetCore<RDF.Quad, RDF.Quad>>;
        readonly _graphId: RDF.Quad_Graph;
        readonly _parent?: RdfResource<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | undefined;
        readonly isAnonymous: boolean;
        equals(other: RDF.BlankNode | RdfResource<RDF.DatasetCore<RDF.Quad, RDF.Quad>> | RDF.NamedNode<string> | import("clownface").GraphPointer<import("@tpluscode/rdfine").ResourceIdentifier, RDF.DatasetCore<RDF.Quad, RDF.Quad>> | null | undefined): boolean;
        hasType(type: string | RDF.NamedNode<string>): boolean;
        get<T extends RdfResource<RDF.DatasetCore<RDF.Quad, RDF.Quad>> = RdfResource<RDF.DatasetCore<RDF.Quad, RDF.Quad>>>(property: string | RDF.NamedNode<string>): T;
        get<T_1 extends RdfResource<RDF.DatasetCore<RDF.Quad, RDF.Quad>> = RdfResource<RDF.DatasetCore<RDF.Quad, RDF.Quad>>>(property: string | RDF.NamedNode<string>, options?: import("@tpluscode/rdfine/RdfResource").GetOptions | undefined): T_1 | null;
        getArray<T_2 extends RdfResource<RDF.DatasetCore<RDF.Quad, RDF.Quad>> = RdfResource<RDF.DatasetCore<RDF.Quad, RDF.Quad>>>(property: string | RDF.NamedNode<string>, options?: import("@tpluscode/rdfine/RdfResource").GetOptions | undefined): T_2[];
        getBoolean(property: string | RDF.NamedNode<string>, options?: import("@tpluscode/rdfine/RdfResource").GetOptions | undefined): boolean;
        getString(property: string | RDF.NamedNode<string>): string;
        getString(property: string | RDF.NamedNode<string>, options?: import("@tpluscode/rdfine/RdfResource").GetOptions | undefined): string | null;
        getNumber(property: string | RDF.NamedNode<string>): number | null;
        getNumber(property: string | RDF.NamedNode<string>, options?: import("@tpluscode/rdfine/RdfResource").GetOptions | undefined): number | null;
        toJSON<T_3 extends import("@tpluscode/rdfine/RdfResource").RdfResourceCore<RDF.DatasetCore<RDF.Quad, RDF.Quad>> = any>(): import("@tpluscode/rdfine/lib/toJSON").Jsonified<RdfResource<RDF.DatasetCore<RDF.Quad, RDF.Quad>> & T_3>;
        _getObjects(property: string | RDF.NamedNode<string>, options?: import("@tpluscode/rdfine/RdfResource").GetOptions | undefined): import("clownface").MultiPointer<RDF.Term, RDF.DatasetCore<RDF.Quad, RDF.Quad>>;
        _create<T_4 extends RdfResource<RDF.DatasetCore<RDF.Quad, RDF.Quad>>>(term: import("clownface").GraphPointer<RDF.Term, RDF.DatasetCore<RDF.Quad, RDF.Quad>>, mixins?: any[] | [Constructor<import("@tpluscode/rdfine/RdfResource").RdfResourceCore<RDF.DatasetCore<RDF.Quad, RDF.Quad>>>, ...any[]] | undefined, options?: import("@tpluscode/rdfine/lib/ResourceFactory").ResourceCreationOptions<RDF.DatasetCore<RDF.Quad, RDF.Quad>, T_4> | undefined): T_4 & import("@tpluscode/rdfine").ResourceIndexer<RdfResource<RDF.DatasetCore<RDF.Quad, RDF.Quad>>>;
    };
    factory: import("@tpluscode/rdfine/lib/ResourceFactory").ResourceFactory<RDF.DatasetCore<RDF.Quad, RDF.Quad>, RdfResource<RDF.DatasetCore<RDF.Quad, RDF.Quad>>, any>;
    __mixins: any[];
    __properties: Map<string, import("@tpluscode/rdfine/lib/decorators/property").PropertyMeta<any>>;
    __ns?: import("@rdfjs/namespace").NamespaceBuilder | undefined;
} & typeof RdfResourceImpl;
declare class DrugClassImpl extends DrugClassImpl_base {
    constructor(arg: ResourceNode, init?: Initializer<DrugClass>);
    static readonly __mixins: Mixin[];
}
export {};
