import * as GQL from '../../backend/graphqlschema';
/** Pattern for valid extension names. */
export declare const EXTENSION_NAME_VALID_PATTERN = "^[a-zA-Z0-9](?:[a-zA-Z0-9]|[_.-](?=[a-zA-Z0-9]))*$";
/** Maximum allowed length for an extension name. */
export declare const EXTENSION_NAME_MAX_LENGTH = 128;
/** A useful minimal type for a registry extension's publisher. */
export declare type RegistryPublisher = (Pick<GQL.IUser, '__typename' | 'id' | 'username'> | Pick<GQL.IOrg, '__typename' | 'id' | 'name'>) & {
    /** The prefix for extension IDs published by this publisher (with the registry's host), if any. */
    extensionIDPrefix?: string;
};
/** Returns the extension ID prefix (excluding the ".") for a registry extension's publisher. */
export declare function extensionIDPrefix(p: RegistryPublisher): string;
export declare function publisherName(p: RegistryPublisher): string;
/** Returns the extension ID (in "publisher/name" format). */
export declare function toExtensionID(publisher: string | RegistryPublisher, name: string): string;
//# sourceMappingURL=extension.d.ts.map