/** @packageDocumentation * @module Locaters */ import { Schema, SchemaContext, SchemaKey, SchemaMatchType } from "@itwin/ecschema-metadata"; /** * A SchemaKey implementation that aids in identifying Schema strings via the * addition of the schemaText property. The schemaText is the full XML string * representation of the Schema. * @beta */ export declare class StringSchemaKey extends SchemaKey { schemaText: string; /** * Initializes a new StringSchemaKey object. * @param key The EC SchemaKey identifying the Schema. * @param schemaText The string representation of the Schema */ constructor(key: SchemaKey, schemaText: string); } /** * Abstract class to hold common/overlapping functionality between SchemaJsonStringLocater and SchemaXmlStringLocater * @beta */ export declare abstract class SchemaStringLocater { schemaStrings: string[]; constructor(); /** * Adds schema strings used by this locator to find the * Schemas. * @param schemaPaths An array of Schema strings to add */ addSchemaStrings(schemaStrings: string[]): void; /** * Adds a schema string used by this locator to locate and load Schemas. * @param schemaText The text of the Schema */ addSchemaString(schemaString: string): void; protected abstract getSchemaKey(data: string): SchemaKey; /** * Attempts to find all Schema strings that match the desired SchemaKey. * @param desiredKey The SchemaKey to match. * @param matchType The SchemaMatchType. */ protected findEligibleSchemaKeys(desiredKey: SchemaKey, matchType: SchemaMatchType): StringSchemaKey[]; abstract getSchema(key: SchemaKey, matchType: SchemaMatchType, context: SchemaContext): Promise; /** * Compares two Schema versions. If the left-hand version is greater, 1 is returned. If the * left-hand version is less, -1 us returned. If the versions are an exact match, 0 is returned. * @param lhs The 'left-hand' StringSchemaKey. * @param rhs The 'right-hand' StringSchemaKey. */ compareSchemaKeyByVersion: (lhs: StringSchemaKey, rhs: StringSchemaKey) => number; } //# sourceMappingURL=SchemaStringLocater.d.ts.map