import * as rdfine from '@tpluscode/rdfine';
import { RdfineEnvironment } from '@tpluscode/rdfine/environment';
import type * as RDF from '@rdfjs/types';
import type { RdfResourceCore } from '@tpluscode/rdfine/RdfResource';
import type * as Sh from '../index.js';
export interface Parameter<D extends RDF.DatasetCore = RDF.DatasetCore> extends Sh.PropertyShape<D>, rdfine.RdfResource<D> {
    optional: boolean | undefined;
}
export declare function ParameterMixin<Base extends rdfine.Constructor>(Resource: Base): rdfine.Constructor<Parameter & RdfResourceCore> & Base;
export declare namespace ParameterMixin {
    var appliesTo: RDF.NamedNode<string> & RDF.NamedNode<"http://www.w3.org/ns/shacl#Parameter">;
    var createFactory: (env: RdfineEnvironment) => import("@tpluscode/rdfine/factory").FullFactory<Sh.Parameter<RDF.DatasetCore<RDF.Quad, RDF.Quad>>> & import("@tpluscode/rdfine/factory").CurriedFactory<Sh.Parameter<RDF.DatasetCore<RDF.Quad, RDF.Quad>>> & import("@tpluscode/rdfine/factory").CurriedBlankFactory<Sh.Parameter<RDF.DatasetCore<RDF.Quad, RDF.Quad>>>;
}
