import { WithIndexer } from "./with-indexer";
/**
 * Base interface for objects with id property.
 */
/** @monorepo-internal */
export interface WithId {
    /** Unique string identifier */
    id: string;
    /** Allows additional properties with any value type for flexible extension */
    [key: string]: any;
}
/** @monorepo-internal */
export interface WithNullableId extends WithIndexer<unknown> {
    id?: string;
}
/** @monorepo-internal */
export interface IWithResource<TResource> {
    resource: TResource;
}
/** @monorepo-internal */
export type PartialWithId<T> = WithId & Partial<T>;
/** @internal */
export declare const withIdProps: {
    readonly id: string;
};
/** @monorepo-internal */
export declare function isResourceWithId(resource: WithId): resource is WithId;
